인가 (Authorize)
- 애플리케이션에서 사용자가 접근할 수 있는 리소스를 제어하기 위한 기능.
- 각 리소스에 대한 접근 정책을 미리 정의, 접근 시 정책 확인해서 허용 여부 결정.
- 웹 리소스, 자바 메서드, 도메인 객체에 대한 접근 정책 정의 가능.
Architecture
동작 과정
1. 클라이언트가 임의의 리소스에 접근하면 FilterSecurityInterceptor
클래스가 가로챈다.
2. FilterSecurityInterceptor
클래스는 AccessDecisionManager
인터페이스의 메서드를 호출하고 리소스에 대한 접근 가능 여부를 확인하게 된다.
3. 기본적으로 AccessDecisionManager는 AffirmativeBased
클래스에 implements 하여 구현한다. AffirmativeBased 클래스는 AccessDecisionVoter
인터페이스의 메서드를 호출하고 접근 가능 여부에 대한 투표 결과를 받는다.
4. 위와 같은 과정을 통해 AccessDecisionManager가 허용할 때에만 FilterSecurityInterceptor에서 다음 단계로 나아가 리소스에 접근 할 수 있게 된다.
참고
'Study > BackEnd' 카테고리의 다른 글
[Spring Security] Spring Security와 인증 과정 (0) | 2022.04.17 |
---|---|
[BackEnd] Servlet 실습 & LifeCycle (0) | 2021.10.10 |
[BackEnd] Web Architecture & Servlet 기초 (eclipse) (0) | 2021.10.10 |