![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Giyi5/btqymUmNI8P/jVli7SJNkEYKVIJGHkFeXk/img.png)
Spring Security - ArcheTecher_AccessDecision Manager Customizing 리소스 접근에 대한 권한 관련 설정을 하다보면, 특정 권한이 다른 특정권한의 상위 권한일 경우가 있다. 예를 들면 ADMIN과 USER의 관계의 경우이다. USER 권한을 가진 사용자는 USER권한을 가진 사용자에게 허용하는 리소스에만 접근이 가능하고 ADMIN 권한을 가진 사용자는 ADMIN과, 그 하위권한인 USER권한을 가진 사용자에게 허용하는 리소스 모두 접근이 가능해야한다. 현재 Spring Security에 권한별 접근 리소스 설정만 했을뿐 특별한 설정을 하지않은 상태이다. 상위권한 테스트하기 우리는 내부적으로 ADMIN권한은 USER의 상위권한이라고 정의 하였다. 그렇다면 AD..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cDL7vg/btqyizqmiq7/tmTEdslQBQDKBAhnuC97t1/img.png)
Spring Security - 아키텍쳐 AccessDecision Manager SpringSecurity에서 사용하는 권한처리(인가)와 관련된 인터페이스를 살펴보자. AccessDecisionManager Access Control or Authorization 결정을 내리는 인터페이스 이다. 인증이 완료된 사용자가 리소스에 접근하려고 할때 해당 요청을 허용할것인지 판단하는 인터페이스이다. 인터페이스 구현체는 3가지를 기본으로 제공한다. Voter라는 개념을 가지고 있다. Voter는 의사결정을 내리는데 사용 하며 여러개의 Voter를 가질 수 있다. AffirmativeBased: 여러 Voter중에 하나라도 허용되면 허용된다. (기본 전략) ConsensusBased: 다수결 UnanimousBa..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/boXFjg/btqyldeo0G7/gPQscL8rJRQ3ikkxPkfAmk/img.png)
Spring Security - ArcheTecher_DelegatingFilterProxy FilterChainProxy FilterChainProxy 는 어떻게 요청을 처리할수 있는가 ? ServletFilter 요청을 보내면 요청을 서블릿 컨테이너가 받게 된다. 서블릿기반 애플리케이션 이기 때문이다. 서블릿 컨테이너는 서블릿 스펙을 지원한다. 서블릿 스펙에는 Filter라는 개념이 존재한다. 어떤 요청의 전후 처리를 할수 있는 Interceptor같은 개념이다. https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/Filter.html 이러한 Filter의 구현체중 하나인 DelegatingFilterProxy 가 존재한다. Delet..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/MIjYg/btqyj3csicb/AqoJuA0H3biw19l3XOtULK/img.png)
Spring Security - 아키텍쳐 Filter FilterChainProxy Spring Securty 가 제공하는 Filter와 FilterChainProxy Spring Security가 제공하는 Filter들 WebAsyncManagerIntergrationFilter SecurityContextPersistenceFilter HeaderWriterFilter CsrfFilter LogoutFilter UsernamePasswordAuthenticationFilter DefaultLoginPageGeneratingFilter DefaultLogoutPageGeneratingFilter BasicAuthenticationFilter RequestCacheAwareFilter SecurityCo..