인증(Authentication)과 인가(Authorization) 등의 보안 기능을 제공하는 스프링 하위 프로젝트이다.인증(Authentication)은 사용자가 누구인지 확인하는 과정으로 대표적인 예로 로그인이 있다.인가(Authorization)는 인증(Authentication)된 사용자가 특정 리소스에 접근할 때 해당 리소스에 접근할 권한이 있는지 확인하는 과정이다.접근 주체(Principal)는 애플리케이션 기능을 사용하는 주체를 의미한다.서블릿 필터(Servlet Filter)를 기반으로 동작하며 DispatcherServlet 앞에 필터가 배치되어 있다.DelegatingFilterProxy를 사용한다.DelegatingFilterProxy는 서블릿 필터를 구현하고 있으며, 역할을 위임할 FilterChainProxy를 내부에 가지고 있다.
UsernamePasswordAuthenticationFilter를 통해 인증을 처리한다.