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발생한다.
'Back-end > Spring-Security' 카테고리의 다른 글
Spring Security- JWT AccessToken, RefreshToken (0) | 2022.12.18 |
---|---|
변경된 WebSecurityConfigurerAdapter (0) | 2022.10.10 |
페이지 수준 권한 부여 (0) | 2021.05.10 |
Spring Security의존제거, HttpServletRequest이용 (0) | 2021.05.09 |
- SecurityContext, SecurityContextHolder, Authentication간의 관계, 현재 로그인 중인 사용자 가져오기 (0) | 2021.04.03 |