웹 프로그래밍/[ Spring Security ]

[ Spring Security ] 02. 익명 사용자 인증처리 필터 : AnonymousAuthenticationFilter

kim.svadoz 2021. 12. 8. 16:16
728x90
반응형
인프런에서 진행하는 정수원 강사님의 "스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security" 강의를 보고 학습을 위해 개인적으로 추가/정리한 글임을 알립니다.

< AnonymousAuthenticationFilter >

  • 익명 사용자 인증처리 필터
  • 익명 사용자와 인증 사용자를 구분해서 처리하기 위한 용도로 사용되는 필터.
  • 화면에서 인증 여부를 구현할 때 isAnonymous()isAuthenticated()로 구분해서 사용한다.
  • (login / logout 과 같은 기능을 나누어서 처리 가능)
  • 인증객체를 세션에 저장하지 않는다.

어떤 사용자가 인증을 받았을 때, 세션에 사용자의 유저 객체를 저장을 한다.

 

사용자가 어떤 자원에 접근하려고 하면 이 사용자가 저장한 유저 객체가 존재하는지 아닌지 판단을 하게 된다.

만약에 null이면 인증을 받지 않았다고 판단해서 자원에 접근하지 못하게 하는 것이다.

image-20211120172159864

AnonymousAuthenticationFilter는 사용자 객체를 null로 처리하는게 아니라 별도의 Anonymous Authentication Token의 인증객체를 만들어서 사용한다.

익명 사용자라고 할 지라도 마치 인증 사용자가 인증 성공 이후에 저장하는 방식과 동일하게 Security Context 안에 인증객체를 저장한다.

 

그래서 Security Context는 여러 곳이나 여러 필터에서 현재 사용자가 현재 사용자가 익명 사용자인지, 인증 사용자인지 구분할 수 있다는 장점이 있는 것이다.

728x90
반응형