해결된 질문
작성
·
859
0
http
.authorizeRequests()
.antMatchers("/user").hasRole("USER")
.antMatchers("/admin").hasRole("ADMIN")
.antMatchers("/admin/**").access("hasRole('ADMIN') or hasRole('SYS')")
.antMatchers("/admin/**").hasAnyRole("ADMIN","SYS")
.anyRequest()
.authenticated();
http
.formLogin();
http
.sessionManagement()
.maximumSessions(1)
.maxSessionsPreventsLogin(true);
http
.logout()
.logoutUrl("/logout");
위 내용과 같이 설정 후 user 계정으로 [로그인 -> 로그아웃] 후로그인 시도시 아래와 같은 화면이 표시됩니다.
디버깅 해보니 logout 후에도 기존 세션이 있어 기존 살아있고, 해당 세션과 세션아이디가 다르니 초과 오류를 반환하는 것으로 확인이 됩니다.
Logout 후에도 세션이 남아있는 이유와 해결방법이 있을까요?
답변 1
0
찾다보니 답을 이미 적어 놓으셨네요. 다른분들 삽질하실까봐 링크 걸어 둡니다.
https://www.inflearn.com/questions/40072/%EB%8F%99%EC%8B%9C-%EC%84%B8%EC%85%98-%EC%A0%9C%EC%96%B4-%EB%8F%99%EC%9D%BC-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EC%84%9C-%EB%A1%9C%EA%B7%B8%EC%95%84%EC%9B%83%EC%9D%B4-%EC%A0%95%EC%B1%85-%EB%AF%B8%EC%A0%81%EC%9A%A9
네 감사합니다.
약간 어려울 수도 있는 내용이지만 흐름을 잘 이해하면 원인을 파악할 수 있습니다.