gpt4 book ai didi

cas - 从 CAS 获取更多属性,而不仅仅是用户 ID

转载 作者:行者123 更新时间:2023-12-01 02:36:57 25 4
gpt4 key购买 nike

我正在将 CAS 与 JDBC 身份验证处理程序一起使用,并且想知道是否有可能在成功身份验证后获取主体对象的其他属性(例如名字、姓氏)而不仅仅是来自 CAS 的用户名?

最佳答案

在 casServiceValidationSuccess.jsp 中,我添加如下:

<cas:attributes>

<c:forEach var="attr" items="${assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes}">
**<cas:${fn:escapeXml(attr.key)}>${fn:escapeXml(attr.value)}</cas:${fn:escapeXml(attr.key)}>**
</c:forEach>

</cas:attributes>

在 deployerConfigContent.xml 中,我添加如下:
<bean class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" >

**<property name="attributeRepository">
<ref bean="attributeRepository" />
</property>**

</bean>

<bean id="attributeRepository" class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao">

<constructor-arg index="0" ref="dataSource"/>
<constructor-arg index="1" value="select * from bbs_members where {0}" />
<property name="queryAttributeMapping">
<map>
<entry key="username" value="username" />
</map>
</property>

<property name="resultAttributeMapping">
<map>
<entry key="uid" value="uid"/>
<entry key="email" value="email"/>
<entry key="password" value="password"/>
</map>
</property>
</bean>

有用。
我在调试的时候遇到了这个问题,如果你修改了这个JSP或者XML文件,请关闭浏览器,否则修改不会生效。当心。

关于cas - 从 CAS 获取更多属性,而不仅仅是用户 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com