java - 无法注册客户端 - Spring Boot Admin 2.0.2
问题描述
我正在根据文档进行开发:https ://codecentric.github.io/spring-boot-admin/2.0.2 ,但我没有在安全的应用程序中注册客户端。
我的配置是:
应用程序.yml
# Security config
spring.security.user:
name: admin
password: admin
# Actuator config
management:
endpoint:
shutdown.enabled: true
health.show-details: always
endpoints.web.exposure.include: '*'
# Spring boot admin config
spring.boot.admin:
context-path: /admin
client:
url: http://localhost:8080/admin
username: ${spring.security.user.name}
password: ${spring.security.user.password}
instance:
name: ${app.name}
metadata.user:
name: ${spring.security.user.name}
password: ${spring.security.user.password}
网络安全配置
@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
private final String adminContextPath;
public WebSecurityConfiguration(AdminServerProperties adminServerProperties) {
this.adminContextPath = adminServerProperties.getContextPath();
}
@Override
protected void configure(HttpSecurity http) throws Exception {
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/**");
}
}
并且正在发生错误:
2018-08-22 00:44:21.770 DEBUG 9616 --- [gistrationTask1] d.c.b.a.c.r.ApplicationRegistrator: Failed to register application as Application(name=template-api, managementUrl=http://localhost:8080/actuator, healthUrl=http://localhost:8080/actuator/health, serviceUrl=http://localhost:8080/) at spring-boot-admin ([http://localhost:8080/admin/instances]): 401 null
有人可以帮忙401
吗?
2018 年 9 月 1 日更新:
我尝试了单独的配置并发生相同的错误:
服务器:
# Security config
spring.security.user:
name: test-name
password: test-password
# Spring boot admin config
spring.boot.admin:
context-path: /admin
客户:
# Spring boot admin config
spring.boot.admin:
client:
url: http://localhost:8080/admin
username: test-name
password: test-password
instance:
name: ${app.name}
metadata.user:
name: test-name
password: test-password
解决方案
401 Unauthorized 错误是一个 HTTP 状态代码,表示您尝试访问的页面在您首次使用有效的用户 ID 和密码登录之前无法加载。您是否正确配置了客户端和管理服务器?
您可以在此处查看我的带有和不带有安全配置的服务器和客户端 Spring Boot 应用程序的示例源代码。
https://github.com/anandvarkeyphilips/spring-boot-admin/tree/master/spring-boot-admin-samples
推荐阅读
- jsf - 当 tabView 中的选项卡更改时如何打开 Jasper 报告?
- r - 如何计算矩阵列之间的百分比差异并在迭代时添加到值矩阵
- java - 将字节数组转换为 Int 奇数结果 Java 和 Kotlin
- python - 使用 X 射线检测 Python 3.6 Lambda 函数会导致错误
- perl - 在线程之间共享队列管理器连接
- java - java.lang.NoSuchMethodError:javax/ws/rs/core/MultivaluedMap.addAll
- c# - 自定义模型绑定器 asp.net 核心绑定字典
- python - 具有不同 x 和 y 编码的 Altair 选择
- r - 如何测试具有缺失值的多元正态性?
- r - 如何在运行时在 ggplot2 中添加行?