![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b6J7KQ/btqyu85Pxz8/jaaSGavdlA1JokukDKcWw1/img.png)
Spring Security - WebApplicationSecurity ignore SpringSecurity에서 Security를 적용하고 싶지 않은 경우 설정을 방법을 살펴보자. 인증이 필요한 favicon GET localhost:8080/ 다음과 같이 루트로 요청을 보내면 Spring Security FilterChain을 거친뒤 루트페이지에 대한 응답을 받게 된다. 하지만 이상한점은 루트페이지에 대한 응답을 받았음에도 브레이크포인트에 멈춰있고 favicon 요청에도 FilterChain을 타게된다. 우리가 기존에 했던 SpringSecurity 설정을 살펴보면 /, /info, /account/** 요청을 제외한 모든 요청들은 인증된 사용자에게 만 허용하도록 설정 하였기때문에 favicon 요..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/L701Z/btqyttCetjX/viPPFxQTGTpknPObnKtPqk/img.png)
Spring Security - 아키텍쳐 정리 Spring Security Filter 서블릿 컨테이너로 요청이 들어오면 ServletFilter의 일부인 DelegatingFilterProxy 가 특정한 이름으로 등록된 빈에게 요청을 위임한다. DelegatingFilterProxy 특정한 이름의 빈으로 요청을 위임하는 서블릿 필터이다. Spring Security 기본설정에 의하면 springSecurityFilterChain 이라는 이름을 가진 빈에게 요청을 위임한다. Spring Boot 사용시 자동 설정된다. Spring Boot를 사용하지 않는다면 AbstractSecurityWebApplicationInitializer 를 상속받아 등록한다. FilterChainProxy Delegating..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/BhESw/btqyqydpnjI/bqVQrjfK4KBainGQRZv3zK/img.png)
Spring Security - ArcheTecher_ExceptionTranslationFilter Spring Security 에서 인증과, 인가 과정에서 예외가 발생할 경우 이를 어떻게 처리하는지 알아보자. 인증과 인가 과정에서 발생하는 예외 AuthenticationException (인증) AccessDeniedException (인가) ExceptionTransalcationFilter FilterChainProxy가 호출하는도중 발생하는 예외를 처리하는 예외 처리기 AccessDeniedException과 AuthenticationException을 처리하는 필터이다. 핵심 메서드는 HandleSpringSecurityException() HandleSpringSecurityException..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/tlVXY/btqyoe6Ynxc/i3pDrYc8Q2ZWuAue8k23dK/img.png)
Spring Security - 아키텍쳐 FilterSecurityInterceptor Spring Security는 인가를 할때 AccessDecisionManager를 사용한다. 그렇다면 AccessDecision Manager는 어디서 사용되는지 살펴보자. FilterSecurityInterceptor FilterChainProxy가 호출하는 Filter중 하나이다. 대부분의 경우에 가장 마지막에 사용된다. 어떤 리소스에 접근하기 전 마지막에 AccessDecisionManager를 사용하여 인가처리를 하는 필터이다. FilterSecurityInterceptor의 프로세스 doFilter FilterSecurityInterceptor도 Filter이기때문에 doFilter 메서드가 호출된다. do..