- AbstractSecurityWebApplicationInitializer 또는 SecurityFilterAutoConfiguration로 자동으로 DeligatingFilterProxy를 등록
- 요청을 FilterChainProxy로 위임함
- Filter들은 WebSecurity, HttpSecurity를 통해 만들어짐
- The WebSecurity is created by WebSecurityConfiguration to create the FilterChainProxy known as the Spring Security Filter Chain (springSecurityFilterChain). The springSecurityFilterChain is the Filter that the DelegatingFilterProxy delegates to.
- 인증은 AuthenticationManager를 사용
- AuthenticationManager는 ProviderManager를 통해 인증을 처리
- ProviderManager는 여러 AuthenticationProvider를 통해 처리
- 그중에 하나가 DaaoAuthenticationProvider(UserDetailsService를 통해 인증처리)
- 인증을 성공하면 SecurityContextHolder에 넣음
- 인가는 FilterSecurityIntercepter를 통해 AccessDecisionManager를 사용하여 처리
- 접근하려는 리소스(url, 메서드 등)에 인증객체가 적절한 ConfigAttribute를 가지고있는가(롤)를 확인
- AccessDecisionManager 구현체중 하나인 AffirmativeBased를 사용(여러 voter중 하나라도 허용하면 허용)
- voter중에 WebExpressionVoter만 사용중이었음
- SpringExpressionHandler를 사용하여 처리, 계층형 권한처리를 위해 커스터마이징가능
'스터디-Spring' 카테고리의 다른 글
[스프링 시큐리티] SecurityContextPersistenceFilter (0) | 2022.01.30 |
---|---|
[스프링 시큐리티] @Async & WebAsyncManagerIntegrationFilter (0) | 2022.01.21 |
[스프링 시큐리티] ExceptionTranslationFilter (0) | 2022.01.17 |
[스프링 시큐리티] FilterSecurityIntercepter (0) | 2022.01.17 |
[스프링 시큐리티] AccessDecisionManager (0) | 2022.01.13 |