是否可以以从外部文件读取配置详细信息并相应配置的方式配置Spring安全性.
(我不是在运行时更改配置.我在谈论在启动时从文件中读取)
我现有 Sporing安全配置的一个示例是:
@EnableWebSecurity
@Configuration
public class SecurityConfig {
@Bean
public UserDetailsService userDetailsService() throws Exception {
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(User.withUsername("user").password("userPass").roles("USER").build());
manager.createUser(User.withUsername("admin").password("adminPass").roles("ADMIN").build());
return manager;
}
@Configuration
@Order(1)
public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
@Override
public void configure(AuthenticationManagerBuilder auth)
throws Exception {
auth.inMemoryAuthentication().withUser("user").password("user").roles("USER");
auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN");
}
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/api/v1/**")
.authorizeRequests()
.antMatchers("/api/v1/**").authenticated()
.and()
.httpBasic();
}
}
@Configuration
@Order(2)
public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
@Override
public void configure(AuthenticationManagerBuilder auth)
throws Exception {
auth.inMemoryAuthentication().withUser("user1").password("user").roles("USER"); …Run Code Online (Sandbox Code Playgroud) 我们有许多具有多个活动Spring配置文件的环境,但application- {profile} .yml文件的优先级是什么?
如果我有 spring.profiles.active=test-us-west-2-p1, test-us-west-2, test
以什么顺序application-test.yml, application-test-us-west-2.yml, application-test-us-west-2-p1.yml加载文件?如果我在每个文件中都有相同的属性,哪个"获胜"?
此外,这是从Spring-Boot 1.5.x更改为2.x吗?好像它可能有.
我想知道的优先级的的application-{profile}.properties文件,如果多个spring.profiles.active相加。
例如:
spring.profiles.active=profile1,profile2src/main/resources, 我有这些文件application-profile1.properties和application-profile2.properties我已阅读此内容,但此处并未涵盖此主题。
提前致谢。