우리네 장

[Spring boot ]Spring Security 로그아웃이 안됄 때... 본문

SpringFramework

[Spring boot ]Spring Security 로그아웃이 안됄 때...

qpmi1zm29 2020. 12. 28. 18:27

Spring Security 4 버전을 사용해서 기본적인 로그인, 로그아웃을 구현하는 와중에 알게된 점들이다.

 

먼저, 로그인 ( login )

 

로그인 페이지를 커스텀해서 사용할 경우, form 태그의 action 속성을 주의하여야 한다.

 

페이지 커스텀 전, 기본으로 생성된 로그인 페이지에서 개발자 도구를 이용해 action 속성에 어떤 값이 들어가 있는지 확인하고, 그 값을 사용한다.

 

나의 경우는 '/login' 이었다.

 

버전마다 값이 바뀔 수 있으므로 확인하는 것이 가장 좋다!

 

 

그 다음, 로그아웃 ( logout )

 

구현 시 가장 많은 시간을 소요한 부분이다.

 

1. 먼저 form 태그의 action 부분에 context root 를 같이 적어주어야 한다. 

( 이는 로그인이 안될 때도 적용해 보면 해결이 될 것이다 --> '/context root/login')

나는 context root가 security 이다

 

2. 저 A는 임의의 값인데, security 설정파일과 일치하기만 하면 된다.

3. 반드시 logout.jsp 가 필요하다

jsp 파일 안에서 아무 코드를 적지 않아도 된다. 그냥 필요하다

 

logout form이 실행되면 action속성을 통해 '/A' url이 요청되고 디스패처에 의해 위 컨트롤러로 매핑이 된다.

이때 나는 logoutP 아래 logout.jsp를 만들었는데 해당 jsp 파일이 반드시 필요하다.

( jsp 파일은 view 아래 위치해야 한다 )

 

logout.jsp - 아무 내용 없음

 

이렇게 하면 login과 logout이 정상적으로 작동한다!

끗-