CAS3.4.10版本自定义用户信息中有中文,比如姓名,修改如下:
1、部署web服务目录下的:cas3.4.10\WEB-INF\view\jsp\protocol\2.0\casServiceValidationSuccess.jsp的编码为 GBK:
<%@ page contentType="text/html; charset=GBK"%>
?
2、 在 ?<cas:authenticationSuccess> 节点内,增加自定义字段的输出:
??<cas:user>${fn:escapeXml(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.id)}</cas:user>
??<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>?
?
3、如果启用代理模式,再增加:
??<c:if test="${not empty pgtIou}">
????<cas:proxyGrantingTicket>${pgtIou}</cas:proxyGrantingTicket>
??</c:if>
4、在客户端的web.xml的??? <filter-name>CAS Validation Filter</filter-name>? 节点内,增加:
??? </init-param>
?<param-name>encoding</param-name>
????? <param-value>GBK</param-value>
??? </init-param>
原文:http://xuguohua.iteye.com/blog/2310923