스프링 시큐리티 - 무한 리다이렉션

큰모래·2023년 3월 28일
0

위와 같이 서버에 접속하려하니 리다이렉션한 횟수가 너무 많다고 오류가 떴다.
오류는 로그인이 되어있던 상태에서는 없었고, 로그아웃을 한 후로 발생했다.
처음에는 컨트롤러나 폼에 문제가 있나 싶어서 찾아봤지만, 문제는 다른 곳에 있었다.
찾아보니 스프링 시큐리티 설정 클래스에 문제가 생긴듯 했다.

위의 코드를 대강 해석해보면 http 요청에 대해 /question/list, /question/detail, /style.css, / 에 대한 요청은 permitAll()을 통해 누구나 접근할 수 있게 한다.
이외의 나머지 요청은 인증을 받아야한다.(즉, 로그인 해야한다는 말이겠지)
그리고 로그인페이지는 /user/login 이고 로그인 성공 url/ 이다.
로그아웃은 /user/logout 이고 로그아웃 성공 url/ 이다. 또한 로그아웃 이후 세션 전체 삭제 설정을 true로 한다.

나는 permitAll을 통해 특정 url만 누구나 접근할 수 있게 설정했다. 하지만 여기서 로그인 url과 로그아웃 urlpermitAll을 안했기 때문에 anyRequest().authenticated()에서 계속 "너 로그인 해야돼"라고 리다이렉트를 보내주는거였다... (너무 간단했다.)

로그인 페이지 접속 시도 -> "너 로그인 해야지 접속 가능 ㅅㄱ" -> 로그인 페이지 접속 시도 -> "너 로그인 해야지 접속 가능 ㅅㄱ" 무한 반복

수정완료!
profile
큰모래

0개의 댓글