Spring web安全:@EnableWebSecurity已经过时了吗?

时间:2016-03-31 14:39:01

标签: spring-security spring-boot

使用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注释(如上例所示)。这个背景中的这个注释是否已经过时了?如果是这样,为什么?

1 个答案:

答案 0 :(得分:6)

Spring Boot的自动配置自动启用Web安全性并检索WebSecurityConfigurerAdapter类型的所有bean,以在满足特定条件(类路径上的spring-boot-starter-security等)时自定义配置。在类org.springframework.boot.autoconfigure.security.SpringBootWebSecurityConfiguration中启用了Web安全性的自动配置(Spring Boot 1.2.7,类名可能在较新版本中已更改)。