【发布时间】: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.userDetailsServiceClass 属性或类似的东西?
【问题讨论】:
标签: java spring spring-security spring-boot