アノテーションインターフェース 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 を構成すると、予測できない結果が生じます。