인프런 커뮤니티 질문&답변

redbean님의 프로필 이미지
redbean

작성한 질문수

스프링 시큐리티

11) 권한설정과 표현식

logout을 했지만 세션이 남아있습니다.

해결된 질문

작성

·

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 계정으로 [로그인 -> 로그아웃] 후로그인 시도시 아래와 같은 화면이 표시됩니다.

스크린샷 2023-08-17 오후 11.38.19.png디버깅 해보니 logout 후에도 기존 세션이 있어 기존 살아있고, 해당 세션과 세션아이디가 다르니 초과 오류를 반환하는 것으로 확인이 됩니다.

Logout 후에도 세션이 남아있는 이유와 해결방법이 있을까요?

 

답변 1

정수원님의 프로필 이미지
정수원
지식공유자

네 감사합니다.

약간 어려울 수도 있는 내용이지만 흐름을 잘 이해하면 원인을 파악할 수 있습니다.

redbean님의 프로필 이미지
redbean

작성한 질문수

질문하기