Anonymous
익명 사용자

스프링 MVC 익명 인증 사용


AnonymousAuthenticationFilter

익명 인증 과정 디버깅
1. AnonymousAuthenticationFilter

마지막 업데이트





마지막 업데이트
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(auth -> auth
.requestMatchers("/anonymous").hasRole("GUEST")
.requestMatchers("/anonymousContext", "/authentication").permitAll()
.anyRequest().authenticated()
)
.formLogin(Customizer.withDefaults())
.anonymous(anonymous -> anonymous
.principal("GUEST")
.authorities("ROLE_GUEST")
);
return http.build();
}
}@GetMapping("/authentication")
public String authentication(Authentication authentication) {
if (authentication instanceof AnonymousAuthenticationToken) {
return "anonymous";
} else {
return "not anonymous";
}
}
@GetMapping("/anonymousContext")
public String anonymousContext(@CurrentSecurityContext SecurityContext context) {
return context.getAuthentication().getName();
}