我正在研究 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()
方法有什么意义?
最佳答案
这个答案对我有帮助。
如果您已经扩展了 WebMvcConfiguratorAdapter
类,您有两种安全设置选择。
使用
configureGlobal()
方法:- 单个
@Configuration
类方法。 - 您可以在维护配置类的同时设置安全性。
- SpringWebConfig 扩展
WebMvcConfigurerAdapter
+@EnableWebSecurity
- 单个
覆盖
configure()
方法:- 特定的安全
@Configuration
类。 - 您必须创建一个新的配置类来扩展
WebSecurityConfiguratorAdapter
以进行安全设置。 MySecurityConfig
扩展WebSecurityConfigurerAdapter
- 特定的安全
关于java - 'configure' 和 'configureGlobal' 方法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35023900/