java, spring

[Spring] Spring Web Security

isaac.kim 2021. 9. 24. 17:56
728x90
반응형

[Spring] Spring Web Security

 

도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 된답니다!^^

이 글은 코드로 배우는 스프링 웹 프로젝트 도서를 참고하고 있습니다.

 

스프링 시큐리티의 기본 동작 방식은 서블릿의 여러 종류의 필터와 인터셉터를 이용해서 처리됩니다. 필터는 서블릿에서 말하는 단순한 필터를 의미하고, 인터셉터(Interceptor)는 스프링에서 필터와 유사한 역할을 합니다.

 

반응형

 

필터와 인터셉터는 특정한 서블릿이나 컨트롤러의 접근에 관여한다는 점에서 유사하지만 결정적인 차이를 구분하자면 필터는 스프링과 무관하게 서블릿 자원이고, 인터셉터는 스프링의 빈으로 관리되면서 스프링의 컨텍스트 내에 속한다는 차이입니다.

 

 

일반 필터는 서블릿 컨텍스트에 속하긴 하지만 스프링과 무관합니다. 반면 인터셉터는 스프링의 내부에서 컨트롤러를 호출할 때 관여하기 때문에 스프링의 컨텍스트 내에 있는 모든 자원을 활용할 수 있습니다.

 

스프링 시큐리티를 이용하게 되면 인터셉터와 필터를 이용하면서 별도의 컨텍스트를 생성해서 처리합니다. 하나의 스프링 MVC 프로젝트에 스프링 시큐리티가 적용되면 다음과 같은 구조가 생성됩니다.

 

스프링 시큐리티는 현재 동작하는 스프링 컨텍스트 내에서 동작하기 때문에 이미 컨텍스트에 포함된 여러 빈들을 같이 이용해서 다양한 방식의 인증 처리가 가능하도록 설계할 수 있습니다.

 

 


이번 글은 Spring Web Security에 대해 알아보는 시간이었습니다.

 

 

도움이 되셨다면 광고 한 번 클릭 부탁드립니다. 한 번의 클릭이 제게 큰 힘이 된답니다!^^
728x90
반응형