2013-07-22 2 views
0

안녕하세요 저는 봄 보안이 처음입니다. 3.1 버전 사용. 사용자 이름/암호를 묻는 메시지와 사용자가 인증 된 경우 쿠키를 설정하는 기존 sso url이 있습니다.스프링 보안 : 라이브 라이브 서버로 sssion 관리

사용자 지정 필터와 사용자 지정 인증 입력 지점을 사용하여 사용자를 인증 할 수 있습니다. 내가 이해할 수없는 것은 내 원본 요청이 ../myPage이고 customauthentication 필터에 defaultProcessingUrl ../myFilter가 있다고 가정하고 사용자가 내 sf url에서 내 응용 프로그램으로 리디렉션 될 때 (myfilter path를 다음과 같이 가정합니다. 성공적인 인증 후 리디렉션 할 레거시 sso에 대한 매개 변수), 끈적이지 않은 세션이있는 라이브 - 라이브 모드에서 서버를 사용할 때 원본 요청 URL을 어떻게 수집합니까?

내가 알고있는 것처럼 ExceptionTranslationFilters는 httpsession 속성을 사용하여 인증 엔트리 포인트를 트리거 한 orig URL을 저장하지만 실제 서버 리디렉션의 경우 다른 서버에서 리디렉션 될 수 있습니다.

하나의 옵션은 사용자 정의 필터에 "/ **"패턴을 사용하고 리디렉션을 위해 원본 요청을 전달하는 것입니다. 그러나이 경우 레거시 URL을 만드는 논리는 cutom 필터 authenticationFailure 처리기 및 사용자 지정 인증 지점에 복제됩니다.

제안 사항?

답변

0

가정 : 기존 SSO가 Siteminder를 등으로부터 다른 방식으로 작동합니다 (http://en.wikipedia.org/wiki/Identity_management_system)

ExceptionTranslationFilter가 인증 진입 점을 트리거 URL을 저장하지 않습니다. 이를 관리하려면 인증 필터와 인증 엔트리 포인트가 필요합니다. 예를 들어 LoginUrlAuthenticationEntryPoint를 찾으십시오. 자신의 경우 LegacySSOFilter 및 LegacySSOEntryPoint를 구현해야합니다. LegacySSOEntryPoint는 레거시 SSO 서버로 리디렉션되며 사용자 인증 후 원래 응용 프로그램으로 다시 리디렉션됩니다. http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6295 :

는 원래 응용 프로그램 (보안 방법으로 그것을 할) LegacySSOFilter 사용자 이름을해야하고 Siteminder를 필터에 유사하게 사용자를 인증하기로 리디렉션에 인증 된 사용자 이름을 제공해야 함을 유의하시기 바랍니다.

+0

답장을 보내 주셔서 감사합니다. 내가 접근 방식을 변경하고 지금은 더 잘 맞는 것으로 사용자 지정 사전 인증 필터를 사용하고 있습니다. – coder

+0

도움이 되었다면 내 대답을 수락하고 홍보 할 수 있습니다. – Michael

+0

안녕하세요, 저는 사용자 정의 인증 필터를 사용하여 문제를 해결하는 방법을 아직 이해하지 못해서 답변을 수락하지 않았습니다. ExceptionTranslationFilter가 인증 포인트를 트리거 한 URL을 저장하지 않는다는 것을 언급했으나이 필터가 원본 URL을 가져 오는 데 사용할 수있는 요청 캐시에 요청을 저장하지만 비 실시간 (요청 캐시가 httpsession을 사용함에 따라) 리디렉션 될 때 요청 정보가 캐시에서 사용 가능하다는 것을 보장 할 수 없습니다. – coder

관련 문제