[英]Difference between registerGlobal(), configure(), configureGlobal(),configureGlobalSecurity in Spring security
[英]What's the difference between 'configure' and 'configureGlobal' methods?
我正在玩 Spring Security 配置並發現,配置內存中身份驗證的最常見方法是使用configureGlobal()
方法:
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception{
auth
.inMemoryAuthentication()
.withUser("user").password("userPwd").roles("USER");
}
}
但是還有另一種不太廣泛使用的方法,可以覆蓋WebSecurityConfigurerAdapter
configure()
方法:
@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()
方法有什么意義?
這個答案幫助了我。
Spring security中registerGlobal()、configure()、configureGlobal()、configureGlobalSecurity的區別
如果您已經擴展了WebMvcConfiguratorAdapter
類的類,則您有兩種安全設置選擇。
使用configureGlobal()
方法:
@Configuration
類方法。WebMvcConfigurerAdapter
+ @EnableWebSecurity
覆蓋configure()
方法:
@Configuration
類。WebSecurityConfiguratorAdapter
以進行安全設置。MySecurityConfig
擴展了WebSecurityConfigurerAdapter
正如春季安全文檔所說:
configureGlobal
方法的名稱並不重要。 但是,重要的是僅在用@EnableWebSecurity
、@EnableGlobalMethodSecurity
或@EnableGlobalAuthentication
注釋的類中配置AuthenticationManagerBuilder
。 否則會產生不可預測的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.