【问题标题】:spring: how to transform java security config to ymlspring:如何将 java 安全配置转换为 yml
【发布时间】:2015-04-29 20:51:22
【问题描述】:

我尝试将以下用 Java 编写的网络安全配置转换为纯 yml 配置。

@Order(Ordered.HIGHEST_PRECEDENCE)
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserDetailsService userDetailsService;

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.authorizeRequests()
                .antMatchers("/register/**").permitAll()
                .anyRequest().authenticated().and().csrf().disable()
                .httpBasic();
    }

    @Autowired
    public void registerAuthentication(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService);
    }
}

这是我的 application.yml 的安全相关部分:

security:
  require_ssl: true
  basic:
    enabled: true
  enable_csrf: false
  ignored:
    - /register/**

当我使用 yml 版本时,如果没有身份验证,则无法访问端点,但也不允许有效用户访问该站点。我认为这是因为我使用了无法识别的自定义 userDetailsService

如何使用 yml-version 定义 registerAuthentication-method 部分的相同行为?是否有 security.userDetailsS​​erviceClass 属性或类似的东西?

【问题讨论】:

    标签: java spring spring-security spring-boot


    【解决方案1】:

    application properties referenceUserDetailsService没有任何关系,所以一定不支持,也是一种高级配置,可以通过正常配置完成。 Boot 仅通过属性提供简单的配置以快速启动,如httpBasic,您可以将两者结合起来,但请注意您的

    ignored:
        - /register/**
    

    与 Java Config 的匹配器发生冲突

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-03
      • 2015-07-22
      • 2015-05-30
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      相关资源
      最近更新 更多