使用spring-boot-starter-security使用简单的Web应用程序测试Spring Boot(1.3.3)时:1.3.3:RELEASE我发现了以下行为:
为了覆盖默认的Spring Web安全配置,我提供了一个自定义Java配置类,如下所示:
@Configuration
// @EnableWebSecurity apparently obsolete ?
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// http security checking left out for brevity ...
}
@Override
protected void configure(
AuthenticationManagerBuilder auth) throws Exception {
// user authentication left out for brevity ...
}
}
启动后,应用程序重定向到登录页面并正确检查用户名/密码是否提供了@EnableWebSecurity注释(如上例所示)。这个背景中的这个注释是否已经过时了?如果是这样,为什么?
答案 0 :(得分:6)
Spring Boot的自动配置自动启用Web安全性并检索WebSecurityConfigurerAdapter类型的所有bean,以在满足特定条件(类路径上的spring-boot-starter-security
等)时自定义配置。在类org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration
中启用了Web安全性的自动配置(Spring Boot 1.2.7,类名可能在较新版本中已更改)。