2022/01/17 3

[스프링 시큐리티] 스프링 시큐리티 아키텍처 정리

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 Delegatin..

스터디-Spring 2022.01.17

[스프링 시큐리티] ExceptionTranslationFilter

필터 체인에서 발생하는 AccessDeniedException과 AuthenticationException을 처리하는 필터 private void handleAccessDeniedException(HttpServletRequest request, HttpServletResponse response, FilterChain chain, AccessDeniedException exception) throws ServletException, IOException { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); boolean isAnonymous = this.authenticationTrustResol..

스터디-Spring 2022.01.17

[스프링 시큐리티] FilterSecurityIntercepter

AccessDecisionManager를 사용하여 Access Control 또는 예외 처리하는 필터, 대부분의 경우 FilterChainProxy에 제일 마지막 필터로 들어있다. Authorization(인가)를 시도한다 이때 accessDecisionManage.decide메서드를 호출하는데, AccessDeniedException이 발생하면 그전 단계인 ExceptionTranslationFilter에서 예외를 처리한다. private void attemptAuthorization(Object object, Collection attributes, Authentication authenticated) { try { this.accessDecisionManager.decide(authenticated..

스터디-Spring 2022.01.17