본 문서는 Spring Boot에서 넘어옴

개요

Spring Security는 Spring Applicaion에 보안기능을 제공하는 Java / Java EE 프레임워크로,

사용자 정의가 가능한 강력하고 고도의 인증 및 액세스 제어 프레임워크이다.

Filter 기반으로 동작하기에 Spring MVC와 분리되어 동작한다.

동작원리

https://junhyunny.github.io/spring-boot/filter-interceptor-and-aop/

https://junhyunny.github.io/spring-boot/filter-interceptor-and-aop/

Client의 요청이 servlet 컨테이너 위에서 Spring MVC에 도달하기 전에 Filter들을 먼저 거치게 된다.

이때, Spring Security Config 파일에 설정된 사항을 통해,

Filter를 생성하고, Filter에 걸리는 클라이언트의 요청을 가로챈다.

클라이언트의 요청은 최종 목적지를 가지고 서버에 접근하지만,

서버의 Filter가 이를 가로채고, 특정한 보안 과정을 거친 뒤,

요청에 대한 허가를 결정하고, 본 요청이 이루어지는 방식이다.

사용법

주로 config폴더 내 SecurityConfig 클래스를 제작하여 사용함.

SecurityConfig 클래스 내부 configure 메소드에서 받은 인수에 따라 보안방식을 바꿈

받아온 인수내의 매우 다양한 메소드를 통해 웹 페이지의 보안을 설정함

해당 메소드와 사용방식은 버전마다 바뀌는 부분이 많기 때문에,