【问题标题】:Is @Autowired required on configureGlobal(..) when using @EnableWebSecurity?使用@EnableWebSecurity 时,configureGlobal(..) 是否需要@Autowired?
【发布时间】:2018-01-29 00:33:48
【问题描述】:

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

    @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 会自动将 AuthenticationBuilder 注入到带有 @EnableWebSecurity? 注释的方法上?

when-to-use-spring-securitys-antmatcher拉取代码sn-p

【问题讨论】:

    标签: java spring spring-boot spring-security


    【解决方案1】:

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

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

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

    @EnableWebSecurity

    【讨论】:

      猜你喜欢
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-21
      • 2014-03-15
      • 2017-01-02
      • 2017-04-26
      相关资源
      最近更新 更多