Resolved
Written on
·
323
1
안녕하세요.
섹션 5. 실전프로젝트 - 인가 프로세스 DB 연동 웹 계층 구현
4) 웹 기반 인가처리 DB 연동 - FilterInvocationSecurityMetadataSource (1)
강의 내용 중 질문이 있어 남깁니다.
일단 Spring Security 현 시점 최신 버전입니다.
질문할 부분은 FilterInvocationSecurityMetadataSource
구현체를 포함한 사용자 정의 FilterSecurityInterceptor
구현체를 최초로 구현/설정하고 실행하는 단계입니다.
강의 상에서는 두 개의 FilterSecurityInterceptor
가 마지막에 있고
앞에 위치한 사용자 정의 FilterSecurityInterceptor
만 실행되고 뒤의 것은 실행되지 않아서 정적으로 설정한 인가가 적용되지 않는 모습이었는데,
제 버전에는 사용자 정의 FilterSecurityInterceptor
, AuthorizationFilter
가 있고
강의와 달리 AuthorizationFilter
에서 정상적으로 해당 인가가 처리되는 모습입니다.
이는 버전상의 차이가 맞나요? 혹은 잘못 이해했거나 설정상에 실수가 있었을 수 있나요?
맞다면 사용자 정의 AuthorizationFilter
를 구현한 완전히 새로운 방법을 사용해야 할까요?
Answer 1
1
네
AuthorizationFilter 은 새롭게 추가된 권한 처리 필터입니다.
저도 해당 필터를 직접 사용해 보지는 않았는데 시큐리티에서는 인가 처리시 해당 필터를 사용하게 될 것으로 보입니다.
인가 설정 시 http.authorizeRequests() 가 아닌 http.authorizeHttpRequests() 로 선언하게 되면
FilterSecurityInterceptor 가 아닌 AuthorizationFilter 가 인가처리를 하도록 필터가 구성되는 것 같습니다.
제가 테스트 해 본 바로는 FilterSecurityInterceptor 로 인가처리를 하든 AuthorizationFilter 로 하든 결과론적으로는 차이가 없는 것 같은데 아직 깊게는 파악하지 못한 상태입니다.
시간이 되면 전반적인 원리나 흐름을 살펴 볼 생각입니다.
일단 시큐리티에서 인가처리를 위한 새로운 필터 개념으로 추가한 것이기 때문에 사용하는데는 아무런 문제가 없어 보이지만 FilterSecurityInterceptor 와 다른 차이점으로 인한 예외적인 상황이 발생할 수도 있다는 점 참고해 주시기 바랍니다.