アノテーションインターフェース EnableGlobalAuthentication
@RetentionSE(RUNTIMESE)
@TargetSE(TYPESE)
@DocumentedSE
@Import(AuthenticationConfiguration.class)
public @interface EnableGlobalAuthentication
EnableGlobalAuthentication
アノテーションは、アノテーション付きクラスを使用して AuthenticationManagerBuilder
のグローバルインスタンスを構成できることを示します。例:@Configuration @EnableGlobalAuthentication public class MyGlobalAuthenticationConfiguration { @Bean public UserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("password") .roles("USER") .build(); UserDetails admin = User.withDefaultPasswordEncoder() .username("admin") .password("password") .roles("ADMIN", "USER") .build(); return new InMemoryUserDetailsManager(user, admin); } }
EnableGlobalAuthentication
でアノテーションが付けられたアノテーションは、アノテーション付きクラスを使用して AuthenticationManagerBuilder
のグローバルインスタンスを構成できることも示します。例:@Configuration @EnableWebSecurity public class MyWebSecurityConfiguration { @Bean public UserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("password") .roles("USER") .build(); UserDetails admin = User.withDefaultPasswordEncoder() .username("admin") .password("password") .roles("ADMIN", "USER") .build(); return new InMemoryUserDetailsManager(user, admin); } // Possibly more bean methods ... }次のアノテーションは
EnableGlobalAuthentication
でアノテーションが付けられています EnableGlobalAuthentication
アノテーションのないクラスで AuthenticationManagerBuilder
を構成すると、予測できない結果が生じます。