주요 필터들
ChannelProcessingFilter
- redirect to a different protocol (http → https)
SecurityContextPersistenceFilter
- SecurityContext 객체를 SecurityContextHolder에 저장
- 어디에 저장? SecurityContextRepository (default: HttpSession)
- 요청 처리가 끝나면 제거
ConcurrentSessionFilter
- 현재 Session 유효 여부 파악하여 유효하지 않은 세션에 대한 후처리
- SessionManagementFilter와 연동 처리
HeaderWriterFilter
- 현재 요청에 HTTP Header 추가
- Ex.)
- Cache-Control
- X-Content-Type-Options
- X-Frame-Options
- Ex.)
CsrfFilter
- Csrf (Cross-site Request Forgery: 사이트 간 요청 위조) 공격을 막기 위한 처리
LogoutFilter
- 특정 URI를 체크하여 Logout을 실행
- Logout 처리 (LogoutHandler)
- Logout 성공 후 처리 (LogoutSuccessHandler)
PRE_AUTH_FILTER
- AbstractPreAuthenticatedProcessingFilter를 상속받아 구현
- ex.)
- X.509
CasAuthenticationFilter
- JA-SIG’s CAS(Central Authentication Service) Single Sign On system
UsernamePasswordAuthenticationFilter
- 특정 URL에서 username, password를 통한 인증 프로세스 진행
- 인증 처리는 AuthenticationManager에게 위임
- 인증 성공 처리 (SuccessHandler)
- 인증 실패 처리 (FailureHandler)
RequestCacheAwareFilter
- 인증 성공 후 기존 요청을 찾아가기 위해 기존 요청을 저장
- 어디에 저장? RequestCache (default: HttpSession)
- session attribute : SPRING_SECURITY_SAVED_REQUEST
- 어디에 저장? RequestCache (default: HttpSession)
AnonymousAuthenticationFilter
- 인증이 안 된 사용자에게 anonymousUser라는 이름의 Authentication 객체를 설정하고
- ROLE_ANONYMOUS 권한을 부여
SessionManagementFilter
- 세션 타임아웃, 동시 접근 제어 등을 처리
ExceptionTranslationFilter
- 이 필터 이후의 모든 인증(AuthenticationException), 권한(AccessDeniedException) 예외 처리
FilterSecurityInterceptor
- 권한 프로세스를 처리하는 Filter
- cf.) AbstractSecurityInterceptor
- <intercept-url /> 내용을 기준으로 권한 처리
'Back-End > 백엔드 관련 정리' 카테고리의 다른 글
redis (0) | 2022.12.09 |
---|---|
security Error 처리 - 부제: 너두 할 수 있어! (0) | 2022.12.08 |
인증(2) - 쿠키와 세션 (0) | 2022.12.05 |
인증(1) - 단방향 해시 함수의 다이제스트 (0) | 2022.12.05 |
[javascript][open data] - 공공포털 데이터를 사용해보자 (0) | 2022.10.04 |