익명사용자 필터 : AnonymousAuthenticationFilter

AnonymousAuthenticationFilter

  • 익명사용자 인증 처리 필터
  • AnonymousAuthenticationFilter 는 null아 아니라 별도의 익명사용자를 만들어 처리한다.
  • 인증객체를 세션에 저장하지 않는다
  • 인증을 받게되면 세션에 user객체를 저장한다. 저장 후, 어떤 자원에 접근하려고하면 인증객체가 존재하는지 or null인지 체크하여 null이면 접근을 못하게하고 null이 아니면 인증된걸로 인식하여 접근하게한다

익명객체 존재여부 판단(익명객체는 보통 SecurityCotext에 있다)

  • 존재한다. 그 다음필터 실행
  • 존재하지 않는다. -> 인증객체 생성 (AnonymousAuthenticationToken)

테스트

@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    private final UserDetailsService userDetailsService;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        //인가 정책
        http
                .authorizeRequests()
                .anyRequest().authenticated();

        //인증 정책
        http
                .formLogin()
                ;


    }
}

댓글

Designed by JB FACTORY