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

标签 java cas

我在整个堆栈中绝对是新手,所以如果这是一个非常愚蠢的问题,我提前道歉。

我正在努力设置本地(模拟)CAS 服务,以便我们能够针对身份验证系统测试我们的应用程序,该系统至少与我们在临时/生产环境中拥有的系统非常相似。

我使用 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' ),然后该用户登录,并返回属性 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/

相关文章:

java - 如何根据android中的图像选择设置图像标题

java - 静态变量在 main 方法之外出现 null

javascript - 登录成功后获取cookie?

gwt - GWT CAS Tomcat部署失败

具有 CAS 的多部分表单的 Python 客户端

java - 无法构建 CAS 服务器

Java 电子邮件 - 异常服务器不受信任

java - tomcat服务器上Spring应用程序CPU利用率高

java - 求多项式的导数(无效版本)

spring-webflow - Jasig CAS - 如何自定义WebFlow以在成功登录后重定向用户?