我正在尝试将我的spring客户端与安全的spring boot服务器连接。似乎缺少某些配置或属性。请帮忙。
Spring Boot版本-2.0.3.RELEASE Spring Boot管理员版本-2.0.2
Spring Boot Admin安全配置
import de.codecentric.boot.admin.server.config.AdminServerProperties;
public class SecurityConfig extends WebSecurityConfigurerAdapter {
private final String adminContextPath;
public SecurityConfig(AdminServerProperties adminServerProperties) {
this.adminContextPath = adminServerProperties.getContextPath();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter("redirectTo");
successHandler.setDefaultTargetUrl(adminContextPath + "/");
http.authorizeRequests().antMatchers(adminContextPath + "/assets/**").permitAll()
.antMatchers(adminContextPath + "/login").permitAll().anyRequest().authenticated().and().formLogin()
.loginPage(adminContextPath + "/login").successHandler(successHandler).and().logout()
.logoutUrl(adminContextPath + "/logout").and().httpBasic().and().csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
.ignoringAntMatchers("/instances", "/actuator/**");
}
}
Spring Boot Admin应用程序属性
server.port=8081
spring.boot.admin.ui.title=Skili Spring Boot Server Admin
management.security.enabled=true
spring.security.user.name=admin
spring.security.user.password=admin
spring.boot.admin.context-path=/
Spring Boot客户端配置
management.endpoints.web.exposure.include = *
spring.boot.admin.client.enabled=true
spring.boot.admin.client.url=http://localhost:8081
spring.boot.admin.client.api-path=instances
spring.boot.admin.client.auto-registration=true
spring.boot.admin.client.auto-deregistration=true
spring.boot.admin.client.instance.name="Skili QA Service"
spring.boot.admin.client.instance.prefer-ip=true
spring.boot.admin.client.username=admin
spring.boot.admin.client.password=admin