[Spring] 스프링 시큐리티를 사용하는 커스텀 로그인 페이지
이전 글
2021.09.24 - [Spring] - [Spring] Spring Web Security
2021.09.24 - [Spring] - [Spring] Spring Web Security의 설정
2021.09.25 - [Spring] - [Spring] 스프링 시큐리티 간단한 로그인과 로그아웃 처리
커스텀 로그인 페이지
스프링 시큐리티에서 커스텀 로그인 페이지를 접근 제한 페이지와 유사하게 직접 특정한 URI를 지정할 수 있습니다.
security-context.xml의 일부
login-page 속성의 URI는 반드시 GET 방식으로 접근하는 URI를 지정합니다.
com.project.controller 패키지의 CommonController에 '/customLogin'에 해당하는 메서드를 추가합니다.
CommonController 클래스의 일부
loginInput( )은 GET 방식으로 접근하고, 에러 메시지와 로그아웃 메시지를 파라미터로 사용할 수 있습니다.
views 폴더에는 customLogin.jsp를 추가합니다.
접근 제한이 필요한 URI에 접근하면 작성된 customLogin.jsp 페이지의 내용을 볼 수 있습니다.
customLogin.jsp를 보면 몇 가지 특이한 점들이 있습니다. <form> 태그의 action 속성값이 '/login'으로 지정되어 있다는 점. 실제 로그인 처리 작업은 /login을 통해 이루어지는데 반드시 POST 방식으로 데이터를 전송해야 합니다. <input> 태그의 name 속성은 기본적으로는 username과 password 속성을 이용합니다.
마지막의 hidden 으로 처리된 input 태그는 특이하게 처리되고, 이 EL의 값은 실제 브라우저에서는 '_csrf'라는 이름으로 처리됩니다.
만일 사용자가 패스워드 등을 잘못 입력하는 경우에는 자동으로 다시 로그인 페이지로 이동하게 됩니다.
CSRF(Cross-site request forgery)에 관해서는 다음 글에서 보도록 하죠~!
'java, spring' 카테고리의 다른 글
[Spring] JDBC를 이용하는 간편 인증/권한 처리 (0) | 2021.09.30 |
---|---|
CSRF(Cross-site request forgery) 공격과 토큰 / 로그인 처리 / 로그아웃 처리 (0) | 2021.09.27 |
[Spring] 스프링 시큐리티 간단한 로그인과 로그아웃 처리 (0) | 2021.09.25 |
[Spring] Spring Web Security의 설정 (0) | 2021.09.24 |
[Spring] Spring Web Security (0) | 2021.09.24 |