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

Java CAS中平面文件身份验证的自定义属性,java,cas,Java,Cas,我是这整个堆栈中的一个绝对新手,所以如果这是一个非常愚蠢的问题,我提前道歉 我正致力于建立一个本地(模拟)CAS服务,这样我们就能够在一个验证系统上测试我们的应用程序,该系统至少与我们在登台/生产环境中的应用程序有一点相似 我用它作为起点。我通过修改cas.properties和deployerConfigContext.xml来设置它,以使我能够在用户登录时实际传递自定义属性。i、 e <bean id="attributeRepository" class="org.jasig.ser

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

我正致力于建立一个本地(模拟)CAS服务,这样我们就能够在一个验证系统上测试我们的应用程序,该系统至少与我们在登台/生产环境中的应用程序有一点相似

我用它作为起点。我通过修改
cas.properties
deployerConfigContext.xml
来设置它,以使我能够在用户登录时实际传递自定义属性。i、 e

<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:password2:5678

等等

我注意到有一个
org.jasig.cas.adapters.generic.FileAuthenticationHandler
,但它只允许用户名::密码,不允许自定义属性(目前为止还很接近)


我完全不懂,我不是java程序员,也已经达到了google fu的极限。如果能为我指明正确方向,我将不胜感激。

基于文件的authn不支持自定义属性。您可能对此感兴趣:

此外,它不需要是平面文件。我很高兴硬编码用户名/密码/xml文件中的自定义属性。任何有效且最简单的方法。我假设您使用的是CAS 3。您发现的基于文件的authn还不支持自定义属性。您可能对此感兴趣。请注意,CAS 3已过期。谢谢@MisaghMoayyed!遗憾的是,我无法控制我们使用的CAS版本,因此我无法理解现在是H3。我应该在问题中注意到。我会看看cas插件报告,看看我是否能做点什么。嘿@Misaghmoayed你想把cas插件的链接放到一个答案中吗?我会接受的。我设法让它工作,并把它合并到我问题中提到的流浪汉cas报告中。我接受了他的回答是正确的,因为它把我带到了我需要的地方。看看问题中链接的回购协议,看看一个有效的例子。