SpringSecurity failureHandler 구현
전 포스팅에서 SpringSecurity 의 config 설정과 UserDetailService설정을 완료하여 로그인을 구현하였다.
이어서 로그인을 실패 할 경우 메시지를 나타내기 위해 failureHandler를 구현해보겠다.
SpringSecurity의 config 설정에 failureHandler 설정 추가
- 해당 메소드에 failureHandler를 설정해주었으며 , LoginfailureHandler라는 파일을 생성하였다.
LoginfailureHandler 작성
- SimpleUrlAuthenticationFailureHandler를 extends 해주었다.
- 로그인에 실패했을때 에러메시지를 출력하기 위해 해당 오류에 대한 Exception을 선언하고 그에 대한 message 내용을 설정해 주었다.
- 작성후 로그인 메시지를 보낼 url에 해당 값을 보내주었다.
login Controller 수정
- RequestParam으로 required = false를 해주면, 값이 null 일때는 해당 값을 적용 안하도록 만든다.
- LoginfailureHandler에서 넘겨받은 error와 exception을 RequestParam으로 받고, 로그인 실패가 되었을때, model로 해당 값을 넘겨주도록 만들었다.
Error에 대한 html 수정
- th:if로 error가 true일때 , th:text에 exception에 대한 message가 나오도록 설정하였다.
html 확인
- 위 화면과 같이 로그인 오류가 나왔을때 에러 메시지가 출력되는 모습을 볼 수있다.
이것으로 SpringSequrity 로그인, 로그아웃에 대한 기본 설정이 끝났다. 이제 프로젝트를 제대로 진행 해봐야겠다.
'Spring Boot' 카테고리의 다른 글
[SpringBoot] BaseTimeEntity 생성 및 실행 (0) | 2022.11.23 |
---|---|
[SpringBoot] data.sql 를 등록하여 구동시 SQL 등록하기 및 자동빌드 설정 IntelliJ(ver) (1) | 2022.11.20 |
[SpringBoot] SpringSecurity UserDetailService 구현 (0) | 2022.11.16 |