카테고리 없음

security, jwt..

하얀잔디 2022. 9. 28. 14:08

맨날 미루고 미뤄왔던 시큐리티와 설정 코드를 뜯어보고자 한다.

 

스프링 시큐리티란

스프링 기반의 어플리케이션 보안(인증,권한,인가) 담당하는 프레임워크임.

 

보안 : 

 

 

기존 코드 :

ㅇ맨날 미루고 미뤄왔던 시큐리티와 설정 코드를 뜯어보고자 한다.

 

 

 

우선 동작과정을 살펴보자.

 

 

Security는 요청이 들어오면 , 여러 Filter들을 체인으로 묶고 자동으로 거치게 한다.

 

그럼 Filter는 무엇이고, 왜 Spring Security는 filter을 이용할까??

 

필터 : 디스패처 셔블릿 들어오기 전에 요청에 대해 필터링 할 수 있는 기능임.

 

과거에는 Filter는 서블릿기술 이라 Spring 빈으로 등록할 수 없지만 현재는

 

DelegatingFilterProxy를 활용해 Bean으로 필터를 등록할 수 있다.

 

 

 

 

 

기존 코드 :

 

@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
@RequiredArgsConstructor
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

 

1: @EnableWebSecurity : 

 

WebSecurityConfigurerAdapter 을 상속받은 config 클래스에 저 에노테이션을 달면

SpringSecurityFilterChain이 자동으로 포함됨.

WebSecurityConfigurerAdapter