[Spring Security] Security 기본 API 이해 #5

권영태·2023년 7월 31일

Security

목록 보기
5/6

이 포스트는 정수원님의 스프링 시큐리티 강의 수강 후 정리한 글입니다.

AnonymousAuthenticationFilter

  • 익명사용자 인증 처리 필터로 익명사용자와 인증 사용자를 구분해서 처리하기 위해 사용한다.
    • 인증 받지 않는 사용자가 있을 때 인증 여부를 파악하게 되면 Null를 return하는데 이는 NullPointerExcepion을 발생시키기 때문에 익명 인증객체를 만들어 사용한다.
  • 인증 객체를 Session에 저장하지 않는다.
  • AnonymousAuthenticationFilter에 요청이 들어오면 SecruityContext에 담겨 있는 Authentication(인증 객체)을 확인한다.
  • Authentication이 있다면 인증받은 사용자이기 때문에 Chain.doFilter로 넘어가고, Authentication이 없다면 인증받지 않은 사용자이기 때문에 익명 인증객체(AnonymousAuthentication)을 생성하고 이를 SecurtiyContextHolder-SecurityContext에 저장한다.
    • 익명 인증객체(AnonymousAuthentication)은 null이 아닌 anonymousUser, ROEL_ANONYMOUS로 구성되어 있다.
  • 그래서 인증 여부를 판단할 때 '==null'로 판단하는 것이 아니라, isAnonymoust()와 isAuthenticated()로 구분해 사용한다.
profile
GitHub : https://github.com/dudxo

0개의 댓글