我在整个堆栈中绝对是新手,所以如果这是一个非常愚蠢的问题,我提前道歉。
我正在努力设置本地(模拟)CAS 服务,以便我们能够针对身份验证系统测试我们的应用程序,该系统至少与我们在临时/生产环境中拥有的系统非常相似。
我使用 https://github.com/ubc/vagrant-cas 作为起点。我已成功通过修改 cas.properties
和 deployerConfigContext.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' ),然后该用户登录,并返回属性 puid
,其值为“12345678910”(每个用户名/密码组合都会返回相同的 PUID)。
(我必须在“服务管理”应用程序中启用要发送回的属性)
我实际上需要的是能够拥有多个用户,并且所有用户都具有不同的 puid 值。即
用户名:密码:1234
用户名2:密码2:5678
等等
我注意到有一个 org.jasig.cas.adaptors.generic.FileAuthenticationHandler
但它只允许 username::password 而没有自定义属性。 (那么近,那么远)。
我已经超出了我的能力范围,我不是一个 java 程序员,并且已经达到了我的 google-fu 的极限。任何为我指明正确方向的帮助将不胜感激。
最佳答案
基于文件的身份验证不支持自定义属性。您可能对此感兴趣:https://github.com/Unicon/cas-addons/wiki/Configuring-JSON-ComplexStubPersonAttributeDao
关于java - CAS 中平面文件身份验证的自定义属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38726162/