Back-end/Spring-Security

+a, SpringSecurity 인증, 인가 처리 과정 정리

prden 2021. 4. 3. 11:37

1. Spring Security 구조도 : 

2. 인증, 인가 처리 과정 

-  대략적인 과정 :

 SecurityContextPersistence Filter를 가장 먼저 적용해서 SecurityContext에 Authentication 객체를 보관한다. 

 이후, 인증을 위해 SecurityContext를 이용해 Authentication객체를 구하고 Authentication에 포함되어있는 권한   목록(GrantedAuthority)을 확인해 특정경로에 접근할 권한이 있는지 파악한다. 

 

  • UsernamePasswordAuthenticationToken클래스 :  Authetication(interface)을 implement한 AbstractAuthenticationToken의 하위 클래스로 첫 번째 생성자 : 인증 전의 객체, 두 번재 생성자 : 인증 후의 객체
  • ProviderManager : ProviderManager는 한 개 이상의 AutheticationProvider를 가질 수 있다. 첫 번째로 authenticate()메서드를 실행해서 인증 처리를 요청하고 두 번째로 autheticate()rk Authentication객체를 리턴 하면 해당 객체를 리턴한다. 만약 어떤 AuthenticationProvider도 인증에 성공하지 못할 경우 Exception발생한다. 
  •