2009-12-17 4 views
0

스프링 보안과 함께 스프링 웹 플로우에서 실행되는 웹 애플리케이션이 있습니다. 내 응용 프로그램은 로그 아웃 후 마지막 페이지를 기억하기 때문에 로그 아웃하는 데 문제가 있습니다. 다시 URL을 누르거나 주소 표시 줄에 직접 붙여 넣으면 로그인 페이지로 페이지를 보낼 수 있지만 로그인하면 로그 아웃하기 전에 마지막 페이지로 바로 이동합니다. 마지막 상태를 기억하는 경향이 있습니다. 아래는 나의 application-config 스 니펫이다. 내가 제대로 문제를 이해하지만로그 아웃하고 다시 로그인 할 때 Spring Security가 로그 아웃하기 전에 마지막 페이지로 이동하는 이유는 무엇입니까?

 <a href="logout.do">#{label.labellogout}</a> 

답변

1

만료 된-URL 속성

사용자가 그들이 동시 세션 컨트롤러 때문에가 있었다 "만료"한 세션을 사용하려고하면 리디렉션되는 URL 사용자가 허용 된 세션 수를 초과했으며 다른 곳에서 다시 로그인했습니다. exception-if-maximum-exceeded가 설정되어 있지 않으면 설정해야합니다. 값을 입력하지 않으면 만료 메시지가 바로 응답으로 다시 쓰여집니다.

세션과 같은 사운드는 로그 아웃 후에도 유효합니다. 로그 아웃 후 무효화하십시오. Spring Doc

+0

Thnx.This이 나를 위해 일한 :

텍스트에서입니다 – cedric

0

확실하지 나의 페이지에서

<security:logout logout-url="/logout.do" invalidate-session="true" 
     logout-success-url="/logoutSuccess.do" /> 

링크 :

B.1.1.4. session-fixation-protection 사용자가 인증하고 새 세션이 시작될 때 기존 세션을 무효화해야하는지 여부를 나타냅니다. "none"으로 설정하면 변경되지 않습니다. "newSession"은 새로운 빈 세션을 생성합니다. "migrateSession"은 새 세션을 작성하고 세션 속성을 새 세션에 복사합니다. 기본값은 "migrateSession"입니다. 이 옵션을 사용하면 스택에 SessionFixationProtectionFilter를 추가합니다. 네임 스페이스가 생성 한 AbstractProcessingFilter의 인스턴스에 대한 세션 고정 보호 옵션도 적절하게 설정됩니다.

여기 읽을 수 있습니다 link

관련 문제