1、casServiceValidationSuccess.jsp文件
此文件是将用户登录成功后,将信息生成XML传递给客户端,原文件是只包含name信息,所以需要修改:
此文件是将用户登录成功后,将信息生成XML传递给客户端,原文件是只包含name信息,所以需要修改:
|
<%@page pageEncoding="UTF-8"%><%@ page session="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
< cas:serviceResponse xmlns:cas = 'http://www.yale.edu/tp/cas' >
<!--
<cas:authenticationSuccess>
<cas:user>${fn:escapeXml(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.id)}</cas:user>
<c:if test="${not empty pgtIou}">
<cas:proxyGrantingTicket>${pgtIou}</cas:proxyGrantingTicket>
</c:if>
<c:if test="${fn:length(assertion.chainedAuthentications) > 1}">
<cas:proxies>
<c:forEach var="proxy" items="${assertion.chainedAuthentications}" varStatus="loopStatus" begin="0" end="${fn:length(assertion.chainedAuthentications)-2}" step="1">
<cas:proxy>${fn:escapeXml(proxy.principal.id)}</cas:proxy>
</c:forEach>
</cas:proxies>
</c:if>
</cas:authenticationSuccess>
</cas:serviceResponse>-->
< cas:authenticationSuccess >
< cas:user >${fn:escapeXml(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.id)}</ cas:user >
< c:if test = "${not empty pgtIou}" >
< cas:proxyGrantingTicket >${pgtIou}</ cas:proxyGrantingTicket >
</ c:if >
< c:if test="${fn:length(assertion.chainedAuthentications) > 1}">
< cas:proxies >
< c:forEach var = "proxy" items = "${assertion.chainedAuthentications}" varStatus = "loopStatus" begin = "0" end = "${fn:length(assertion.chainedAuthentications)-2}" step = "1" >
< cas:proxy >${fn:escapeXml(proxy.principal.id)}</ cas:proxy >
</ c:forEach >
</ cas:proxies >
</ c:if >
<!-- 在server验证成功后,这个页面负责生成与客户端交互的xml信息,在默认的casServiceValidationSuccess.jsp中,只包括用户名,并不提供其他的属性信息,因此需要对页面进行扩展 -->
< c:if test="${fn:length(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes) > 0}">
< 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 >
</ c:if >
</ cas:authenticationSuccess >
</ cas:serviceResponse >
2、deployerConfigContext.xml文件
注释这个bean:
<bean id="attributeRepository"
添加这个bean:
<bean id="attributeRepository" class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao">
3、org.jasig.cas.services.InMemoryServiceRegistryDaoImpl,这里特别重要,此bean中的ignoreAttributes属性默认是不添加用户信息
<bean
在serviceRegistryDao这个bean中默认没有<property name="ignoreAttributes" value="true" />,添加到所示位置
|