CAS单点登录用户名中文乱码问题解决方案
做项目使用CAS做单点登录时发现用户名输入中文名,后台日志打出居然是个乱码,自然就匹配不到数据库中的数据了..Google了一下,在CAS项目的web.xml写一个编码过滤器,可以使用Spring提供的一个编码过滤器,配置如下:
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>gb2312</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
注意:以上过滤器应配置在所有过滤器之前.
再测试,中文用户名测试通过.