공부기록/Spring Security

[이론] 스프링 시큐리티4

jhs0129 2022. 12. 28. 11:46
320x100
반응형

목차

서론

앞서 UsernamePasswordAuthenticationFilter, AuthorizationFilter와 같이 filter에 대해서 언급을 했었다

이번에는 간단히 Security Filter에 대해서 알아보자

Filter에 대해서는 알고 글을 보자

Filter

큰 틀은 filter에 요청이 들어오고 filter가 사용하는 manager를 통해 로직을 처리 후 다음 필터에 요청을 전달하는 것이다

Filter를 새로 정의하고 싶다면 javax.servlet.Filter를 상속받아 구현을 하면 되고 doFilter()에 request, response, filterChain을 전달받게 된다

Spring Security는 설정을 통해서 이렇게 새로 정의된 필터를 기존 filter chain에 원하는 위치에 추가할 수 있게 지원을 해준다

filter를 정의하는 또 다른 방법은 Spring Security가 제공하는 필터를 재정의하는 방법이다

필터추가

  • addFilterBefore(새로 정의한 filter, 기준 filter): 기준 필터 앞에 추가
  • addFilterAfter(새로 정의한 filter, 기준 filter): 기준 필터 뒤에 추가
  • addFilterAt(새로 정의한 filter, 기준 filter): 기준 필터 위치에 추가

여기서 주의할 점은 before, after는 각각 앞뒤에 추가가 되는 것이라고 쉽게 이해가 되지만 at은 가끔 대체가 되는 것이라고 혼동을 할 수 가 있다

하지만 대체가 되는 것이 아니라 해당 위치에 하나가더 추가가 되는 것이다 Spring Security는 이 둘의 filter에 대해서 순서는 보장을 해주지 않으므로 원하는 위치를 명시할 수 있도록 작성을 하던가 대체를 원한다면 기존 filter를 아예 추가하지 않아야 한다

320x100
반응형