반응형
기존에는 인가가 필요한 경로에 접근 시, 스프링 시큐리티에서 제공하는 로그인 폼을 통해 로그인 했어야 했다.
이 디폴트 로그인 폼을 내가 만든 로그인 폼으로 변경하는 작업을 해보자.
login.mustache 파일을 아래와 같이 작성한다.
다음으로 로그인 컨트롤러도 하나 생성해 준다.
이전에는 설명을 못했었는데, @Controller와 @RestController의 차이가 뭐냐면, Rest한 Json데이터를 Return하는 형식이 아닌, 하나의 View를 return하는 방식이다. 우리는 mustache를 return 해주기 위해서 @Controller를 사용한 것.
이제 SecurityConfig파일에서 아래와 같이 작성하면 된다.
스프링 시큐리티에는 csrf라는 사이트 위변조 방지 시스템이 설정되어있는데, post요청을 보낼때 csrf토큰도 같이 보내지도록 설계되어있다.
로그인 시, 이 csrf 토큰이 넘겨오지 않는다면, 로그인이 진행되지가 않는데 이런 상황 때문에 개발 환경에서는 csrf 설정을 꺼놓는 것이 좋다.
formLogin 메서드도 마찬가지로 람다식으로 작성한다.
loginProcessingUrl은 로그인 로직을 구성하는 url이다. 이 부분은 로그인 전(인가 전)이기 때문에 permitAll()처리.
그럼 이제 localhost:8080/admin경로로 들어가 보자.
바로 커스텀한 로그인 페이지로 이동된 것을 볼 수 있다.
반응형
'Spring > Spring Security' 카테고리의 다른 글
스프링 시큐리티 - SESSION (6) DB연동과 회원가입 (0) | 2024.02.07 |
---|---|
스프링 시큐리티 - SESSION (5) 비밀번호 암호화 (0) | 2024.02.07 |
스프링 시큐리티 - SESSION (3) 인가 작업 (0) | 2024.02.07 |
스프링 시큐리티 - SESSION (2) 프로젝트 생성 (0) | 2024.02.07 |
스프링 시큐리티 - SESSION (1) 간단 동작 원리 (0) | 2024.02.06 |