동일한 CAS 서버를 사용하는 다른 URL에 대한 링크를 수행 할 때 스프링 보안을 사용하여 CAS를 사용하여 문제를 해결하려고합니다.CAS가 SavedRequestAwareAuthenticationSuccessHandler가 올바르게 리디렉션되지 않음
link과 같이 SavedRequestAwareAuthenticationSuccessHandler로 SimpleURLAuthenticationSuccess를 변경해 보았지만 여전히 작동하지 않습니다.
나도 같은 CAS 서버에서 실행되는 두 개의 응용 프로그램이 있습니다
내 시나리오가 더 나은를 표시합니다. 응용 프로그램 1에 액세스하면 CAS 서버로갑니다. logIn 후 정상적으로 응용 프로그램의 컨텍스트에 액세스합니다.나는 다음과 같은 링크
<a href="/applicationB/pages/motors/1"/>
내가 CAS로 리디렉션하고있어 CAS가/애플리케이션 B, 응용 프로그램의 컨텍스트에 저를 리디렉션을 통해 액세스 응용 프로그램이 시도 할 때 문제가 발생합니다. 의 CasAuthenticationFilter가 AbstractAuthenticationProcessingFilter이 클래스를 확장하기 때문에
이 link에 따르면, 나는 단순히
편집
내가 어쩌면 솔루션 SavedRequestAwareAuthenticationSuccessHandler를 사용하지 않는 것을보고 SavedRequestAwareAuthenticationSuccessHandler하여 콩 SimpleURLAuthenticationSuccess을 변경해야합니다 다음과 같은 방법이 있습니다 :
/**
* Sets the strategy used to handle a successful authentication.
* By default a {@link SavedRequestAwareAuthenticationSuccessHandler} is used.
*/
public void setAuthenticationSuccessHandler(AuthenticationSuccessHandler successHandler) {
Assert.notNull(successHandler, "successHandler cannot be null");
this.successHandler = successHandler;
}
해결됨 !!! 해결책은 여기 [link] (http://jlorenzen.blogspot.com.br/2013/07/remember-target-url-with-spring.html)에 있습니다. 가능한 경우 CasAuthenticationProvider의 기능을 확장 할 수 있도록 스프링 보안에 대한이 문제를 제기하십시오. [link] (https://jira.springsource.org/browse/SEC-2188) –