使用@EnableWebSecurity时,configureGlobal(..)是否需要@Autowired?

时间:2017-08-21 02:19:06

标签: java spring spring-boot spring-security

在此示例中,@Autowired方法上有configureGlobal注释:

    @EnableWebSecurity
    public class MultiHttpSecurityConfig {
      @Autowired
      public void configureGlobal(AuthenticationManagerBuilder auth) {
          auth
              .inMemoryAuthentication()
                  .withUser("user").password("password").roles("USER").and()
                  .withUser("admin").password("password").roles("USER", "ADMIN");
      }

这是必要的还是Spring会自动在使用@EnableWebSecurity?注释的方法上注入AuthenticationBuilder?

代码段是从when-to-use-spring-securitys-antmatcher

中提取的

1 个答案:

答案 0 :(得分:1)

根据Spring文档@EnableWebSecurity是一个注释,它只关闭默认的Web应用程序安全配置,以便您添加一些自定义功能,如configureGlobal

configureGlobal应为@Autowired以获取AuthenticationManagerBuilder bean并定义应用程序的身份验证类型。

总之,@EnableWebSecurity不会注入bean,它只提供了一种自定义Web安全应用程序的方法。

@EnableWebSecurity