10. Spring/Security

05. 스프링 시큐리티 (Spring Security) - Exception

THE HEYDAZE 2020. 9. 22. 00:15
OS Windows 10 Home 64bit 버전 1903 (OS 빌드 18362.836)
FrameWork SpringBoot 2.3.1.RELEASE
Security spring-boot-starter-security 5
EditTool IntelliJ IDEA 2020.1.3
BuildTool Gradle

 

Spring Security Exception
AuthenticationException UsernameNotFoundException  계정 없음
BadCredentialsException  자격 증명 실패
아이디 혹은 비밀번호 불일치
비밀번호 불일치
AccountStatusException



AccountExpiredException  계정 만료
CredentialsExpiredException  비밀번호 만료
DisabledException  계정 비활성화
LockedException 
계정 잠김

 

BadCredentialsException 은 아이디가 존재하지 않거나, 비밀번호가 틀린 경우 발생하는 exception 이다

보안을 위해서 아이디가 틀린 건지 비밀번호가 틀린 건지 알려주지 않기 위해 둘 다 BadCredentialsException 을 발생 시킨다

 

기본은 위 처럼사용하지만 아이디가 틀린 건지 비밀번호가 틀린 건지 알리고 싶다면,

AuthenticationProvider 를 커스텀 하여

아이디가 없는 경우에는 UsernameNotFoundException 

비밀번호가 틀린 경우에는 BadCredentialsException 을 발생시키 사용 후

 

AuthenticationFailureHandler 에서 Exception 을 처리해주면 된다