使用 spring-boot,我知道我可以拥有配置文件并根据活动配置文件使用不同的配置文件。例如命令:
“mvn spring-boot:run -Drun.profiles=default,production”
将使用“application-default.properties”和“application-production.properties”中定义的设置运行我的spring-boot应用程序,第二个文件上的设置覆盖第一个文件中定义的相同设置(例如db connection设置)。所有这些目前运行良好。
但是,我想构建我的 spring-boot 应用程序并使用以下命令生成一个可运行的 jar:
“mvn 包 spring-boot:repackage”。
此命令确实可以很好地生成自包含的可运行 jar。问题是,¿如何使用前一个命令指定活动配置文件?我用过了
“mvn package spring-boot:repackage -Drun.profiles=default,production”
但它不起作用。
我想为我的 springboot 应用程序的路径“/api/”实现 http 基本身份验证,并为路径“/”和“/admin”实现表单身份验证。
这是我当前的java配置代码,但它不起作用,有什么想法吗?=) 此代码使所有站点都使用 http basic 进行保护,而不仅仅是“/api”。我在 stackoverflow 中发现了一些问题,但它们似乎没有解决我的问题:
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource datasource;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/api/**").authenticated().and()
.httpBasic();
http.authorizeRequests()
.antMatchers("/**").authenticated()
.antMatchers("/admin/**").hasRole("ADMIN")
.and()
.formLogin().loginPage("/login").permitAll()
.defaultSuccessUrl("/inicio");
http.logout().permitAll();
http.csrf().disable();
}
http.csrf().disable();
}
...
Run Code Online (Sandbox Code Playgroud)