今天配置CAS,在向客户端传递更多属性时候,遇到中文乱码问题,百度一把,找到的都是说使用URLEncoder来相互转码,这也太暴力了吧,我想CAS没有那么撮。
1)在服务端修改casServiceValidationSuccess.jsp文件,增加<%@ page pageEncoding="UTF-8"%>,我增加了居然还是乱码,通过下一步可以解决
2)在研究了一下客户端验证配置的时候,发现一个名叫encoding参数,很熟悉是不是,配置上,设置为UTF-8,和熟悉的中文出现了。
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>
org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>
http://localhost:8090/tuzuan.auth.center
</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://localhost:8090</param-value>
</init-param>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>