2016-01-26 2 views
4

Я играл с конфигурацией Spring Security и выяснить, что наиболее распространенный способ настройки в памяти аутентификации с использованием configureGlobal() метода:В чем разница между методами «configure» и «configureGlobal»?

@Configuration 
@EnableWebMvcSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 

    @Autowired 
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception{ 
    auth 
     .inMemoryAuthentication() 
     .withUser("user").password("userPwd").roles("USER"); 
    } 
} 

Но есть еще один способ, который менее широко используется, наиважнейшая configure() метод с WebSecurityConfigurerAdapter:

@Configuration 
@EnableWebMvcSecurity 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(AuthenticationManagerBuilder auth) throws Exception { 
    auth 
     .inMemoryAuthentication(
     .withUser("user").password("userPwd").roles("USER"); 
    } 
} 

Я просто интересно, в чем разница между ними и то, что смысл использования configureGlobal() метода над configure() один?

ответ

1

Как spring security doc говорит:

Название метода configureGlobal не важно. Тем не менее, это важно только настроить AuthenticationManagerBuilder в классе , аннотированный либо @EnableWebSecurity, @EnableGlobalMethodSecurity, , либо @EnableGlobalAuthentication. В противном случае имеет непредсказуемые результаты .

Смежные вопросы