로그 아웃하고 로그인 할 때 로그 아웃하기 전에 Spring Security가 마지막 페이지로 이동하는 이유는 무엇입니까?
-
20-09-2019 - |
문제
스프링 보안으로 스프링 웹 플로우에서 웹 응용 프로그램이 실행 중입니다. 내 앱이 로그 아웃 후 마지막 페이지를 기억하기 때문에 로그 아웃하는 데 문제가 있습니다. URL을 뒤로 누르거나 직접 붙여 넣으면 주소 표시 줄에 페이지를 로그인 페이지로 지시 할 수 있지만 로그인하면 마지막 페이지로 직접 이동하여 로그 아웃하기 전에갔습니다. 마지막 상태를 기억하는 경향이 있습니다. 아래는 내 응용 프로그램 -Config Snippet입니다.
<security:logout logout-url="/logout.do" invalidate-session="true"
logout-success-url="/logoutSuccess.do" />
내 페이지에서 링크
<a href="logout.do">#{label.labellogout}</a>
해결책
만료 된 url 속성
사용자가 허용 된 세션 수를 초과하고 다른 곳에서 다시 로그인했기 때문에 동시 세션 컨트롤러에서 "만료 된"세션을 사용하려고 시도하면 사용자가 사용자가 리디렉션됩니다. 예외 -if-maximum-execeed가 설정되지 않는 한 설정해야합니다. 값이 제공되지 않으면 만료 메시지는 응답으로 직접 기록됩니다.
로그 아웃 후에는 세션이 여전히 유효한 것 같습니다. 로그 아웃 후 유효하지 않도록하십시오.
텍스트는 다음과 같습니다.봄 문
다른 팁
당신의 문제를 정확하게 이해하는지 확실하지 않지만 :
B.1.1.4. 세션 고정 보호는 사용자가 인증 할 때 기존 세션이 무효화되어야하고 새로운 세션이 시작되었는지 여부를 나타냅니다. "없음"으로 설정되면 변경되지 않습니다. "Newsession"은 새로운 빈 세션을 만들 것입니다. "Migratessession"은 새 세션을 만들고 세션 속성을 새 세션에 복사합니다. 기본값은 "마이그레이션"으로 나타납니다. 활성화되면 스택에 SessionFixationProtectionFilter가 추가됩니다. AbstractProcessingFilter의 네임 스페이스 제작 인스턴스의 세션 고정 보호 옵션도 적절하게 설정됩니다.
여기에서 읽을 수 있습니다 링크