2016-10-04 41 views
1

我有2个使用CAS的应用程序。我有问题,因为当我问CAS关于用户分配给票证我已经成为错误的编码答案。有任何特殊字符(来自UTF-8)。
我在web.xml中正确设置了字符编码,并更改了服务器中的设置以允许UTF-8,但它仍然无效。你有什么想法是什么问题?
在CAS响应Cas20ServiceTicketValidator我成为:
albaner.dÄ…bCAS和Spring Security特殊字符

但我相信:
albaner.döb

回答

0

能否请您发表您的web.xml文件。

我会建议你包括CAS客户端上你的web.xml以下,

<filter> 
    <filter-name>characterEncodingFilter</filter-name> 
    <filter-class> 
     org.springframework.web.filter.CharacterEncodingFilter 
    </filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>characterEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

我的建议是基于以下链接下面的内容, http://docs.spring.io/spring-security/site/docs/3.2.9.RELEASE/reference/htmlsingle/#cas-singlelogout

虽然这文档参考是严格单一注销,但是,我觉得你的编码问题是相似的。

当使用SingleSignOutFilter时,您可能会遇到一些编码问题。因此,建议添加CharacterEncodingFilter以确保在使用SingleSignOutFilter时字符编码正确。有关详细信息,请再次参阅JASIG的文档。 SingleSignOutHttpSessionListener可确保当HttpSession过期时,用于单一注销的映射将被删除。