Annotation Type EnableGlobalAuthentication


  • @Retention(RUNTIME)
    @Target(TYPE)
    @Documented
    @Import(AuthenticationConfiguration.class)
    @Configuration
    public @interface EnableGlobalAuthentication
    The EnableGlobalAuthentication annotation signals that the annotated class can be used to configure a global instance of AuthenticationManagerBuilder. For example:
     @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);
            }
     }
     
    Annotations that are annotated with EnableGlobalAuthentication also signal that the annotated class can be used to configure a global instance of AuthenticationManagerBuilder. For example:
     @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 ...
     }
     
    The following annotations are annotated with EnableGlobalAuthentication Configuring AuthenticationManagerBuilder in a class without the EnableGlobalAuthentication annotation has unpredictable results.
    See Also:
    EnableWebMvcSecurity, EnableWebSecurity, EnableGlobalMethodSecurity