스프링 시큐리티

Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당(Spring 하위 FrameWork)

인증, 권한에 대한 부분을 Filter 흐름에 따라 처리, 보안과 관련된 많은 옵션을 제공 → 보안관련 로직 작성 필요 X

Filter 는 Dispatch Servlet 으로 가기 전에 적용 → 가장 먼저 URL 요청 받음

적용 시기의 차이

Interceptor 는 DispatcherServlet ↔ Controller 의 사이에 위치


스프링 시큐리티 동작 구조

역할에 맞는 작업을 처리하는 **여러 개의 필터들이 체인 형태로 구성**되어 순서에 따라 순차적 수행

1. 로그인 정보를 담아 서버에 인증 요청

doFilter(HttpServletRequest request, HttpServletResponse response, 
					FilterChain filterChain)

Chain 형태로 구성된 Filter 들의 doFilter 메소드들이 순서에 따라 호출

각각의 역할 로직들이 수행되게함

2. 인증 처리 담당하는 UserNamePasswordAuthenticationFilter 실행

Authentication attemptAuthentication(HttpServletRequest request,
																		 HttpServletResponse response)