我使用Spring Initializer,嵌入式Tomcat,Thymeleaf模板引擎和包作为可执行的JAR文件生成了一个Spring Boot Web应用程序。
使用的技术:
Spring Boot 2.0.0.M6,Java 8,maven
这是我的安全配置
@Override
protected void configure(HttpSecurity http) throws Exception {
final List<String> activeProfiles = Arrays.asList(env.getActiveProfiles());
if (activeProfiles.contains("dev")) {
http.csrf().disable();
http.headers().frameOptions().disable();
}
http
.authorizeRequests()
.antMatchers(publicMatchers()).permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login").defaultSuccessUrl("/iberia/list")
.failureUrl("/login?error").permitAll()
.and()
.logout().permitAll();
}
在application.properties
server.contextPath=/iberiaWebUtils
server.port=1234
但是,当我在http://localhost:1234/iberiaWebUtils运行应用时,而不是转到http://localhost:1234/iberiaWebUtils/login应用。重定向到http://localhost:1234/login
我也试过
server.context-path=/iberiaWebUtils
具有相同的结果
答案 0 :(得分:10)
从 Spring Boot 2.0.0 M1 特定于servlet的服务器属性开始移至db_table = "[your_schema].[your_table]"
:
Spring Boot 2.0.0 M1 Release Notes
因此,您应该使用server.servlet
属性。
答案 1 :(得分:1)
尝试在.loginProcessingUrl("/iberiaWebUtils/login")
loginPage("/login")
http
.authorizeRequests()
.antMatchers(publicMatchers()).permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage("/login")
.loginProcessingUrl("/iberiaWebUtils/login")
.defaultSuccessUrl("/iberia/list")
.failureUrl("/login?error").permitAll()
.and()
.logout().permitAll();