CAS中平面文件身份验证的自定义属性

时间:2016-08-02 16:43:14

标签: java cas

我是这整个筹码的绝对新手所以如果这是一个非常愚蠢的问题,我会提前道歉。

我正在设置本地(模拟)CAS服务,因此我们能够针对auth系统测试我们的应用程序,该系统至少与我们在登台/生产环境中的内容类似。

我使用https://github.com/ubc/vagrant-cas作为起点。我设法通过修改cas.propertiesdeployerConfigContext.xml来设置此功能,以便在用户登录时实际传递自定义属性。即

<bean id="attributeRepository" class="org.jasig.services.persondir.support.StubPersonAttributeDao">
    <property name="backingMap">
        <map>
            <entry key="uid" value="uid" />
            <entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
            <entry key="groupMembership" value="groupMembership" />
            <entry key="puid" value="12345678910" />
        </map>
    </property>
</bean>

这与默认org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"相结合意味着每当我使用相同的用户名和密码登录时(即用户名'admin'密码'admin'),该用户就会登录并且属性{{1返回值为'12345678910'(每个用户名/密码组合都会返回相同的PUID)。

(我必须启用在“服务管理”应用程序中发回的属性)

实际需要的是能够拥有多个用户,所有用户都拥有不同的puid值。即。

用户名:密码:1234

USERNAME2:密码2:5678

我注意到有一个puid但只允许使用username :: password而没有自定义属性。 (差不多到目前为止)。

我已经超出了我的深度,我不是一个java程序员并且已经达到我的google-fu的极限。任何帮助我指向正确方向的人都将不胜感激。

1 个答案:

答案 0 :(得分:1)

基于文件的authn不支持自定义属性。您可能对此感兴趣:https://github.com/Unicon/cas-addons/wiki/Configuring-JSON-ComplexStubPersonAttributeDao