스프링 시큐리티3 Spring Security 로그인 과정 Sequence Diagram 1. 아이디, 비밀 번호 입력 2. 로그인 요청 3. Authentication 시도 4. 사용자 계정이 Lock 상태인지 검사 (로그인 실패 횟수 5회 -> 계정 잠금) 5a. 만약 Lock 상태라면 LockedExcepion이 발생하고 Authentication 실패 5b. 만약 Lock 상태가 아니라면 다음 검증 단계로 넘어감 6. 비밀번호 일치 검증 7a. 만약 비밀번호가 일치하지 않다면 BadCredentialsException 발생하고 Authentication 실패 7b. 만약 비밀번호가 일치하다면 다음 검증 단계로 넘어감 8. 회원강비 승인 여부 검사 (슈퍼 관리자가 회원가입 승인을 받아줘야 회원가입 가능) 9a. 만약 회원가입 승인이 되지 않았다면 DisabledException 발생하고.. Tech/Spring 2024. 1. 31. Spring Security 로그인 동작 원리 1. 로그인 요청 사용자가 Form을 통해 로그인 정보가 담긴 요청을 보냄 2. Authentication 생성 AuthenticationFilter가 요청을 받아서 UsernamePasswordAuthenticationToken(Authentication 구현 객체) 생성 3. Authentication 전달 AuthenticationManager가 Authentication을 전달받음 AuthenticationManager는 실제 인증 역할을 하는 AuthenticationProvider를 관리함 4. 인증을 위한 Authentication 전달 AuthenticationFilter로 부터 Authentication 객체를 받아 인증 처리를 할 수 있는 AuthenticationProvider에게 인.. Tech/Spring 2024. 1. 27. Spring Security - Failure Handler 공식적인 설명은 아래와 같다. - 실패한 인증 시도를 처리하는 데 사용되는 전략입니다. - 일반적인 동작은 사용자를 인증 페이지로 리디렉션하는 것일 수 있습니다(이 경우 양식 로그인)을 사용하여 다시 시도할 수 있습니다. 더 정교한 논리는 - 예외 유형에 따라 구현됩니다. Spring Security FailureHandler 로그인 실패 핸들러의 경우 onAuthenticationFailure 메소드로 인증 시도가 실패할 때 호출된다. 메소드의 인자에서 AuthenticationException 예외의 종류로는 아래와 같다. BadCredentialsException : 비밀번호불일치 UsernameNotFoundException : 계정없음 AccountExpiredException : 계정만료 Cr.. Tech/Spring 2023. 10. 11. 이전 1 다음 728x90 반응형