2016-10-04 2 views
1

CAS를 사용하는 2 개의 응용 프로그램이 있습니다. 문제가 생겼습니다. 티켓에 할당 된 사용자에 대해 CAS에게 질문 할 때 인코딩 된 대답이 잘못 되었기 때문입니다. UTF-8의 특수 문자가 있습니다.
web.xml에서 제대로 char 인코딩을 설정하고 UTF-8을 허용하도록 서버에서 settngs를 변경했지만 여전히 작동하지 않습니다. 무엇이 문제가 될 수 있는지 생각해보십시오. CAS 응답에 Cas20ServiceTicketValidator에서
내가 될 :
albaner.dÄ…bCAS 및 스프링 보안 문자

하지만 기대 :
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를 사용할 때 인코딩 문제가 발생할 수 있습니다. 따라서 SingleSignOutFilter를 사용할 때 문자 인코딩이 올바른지 확인하기 위해 CharacterEncodingFilter를 추가하는 것이 좋습니다. 자세한 내용은 JASIG의 문서를 참조하십시오. SingleSignOutHttpSessionListener는 HttpSession이 만료되면 단일 로그 아웃에 사용 된 매핑이 제거되도록합니다.