【发布时间】:2017-02-04 05:23:15
【问题描述】:
我正在尝试使用 spring boot admin(服务器端 + 客户端)设置示例应用程序,但遇到了身份验证问题。
当在客户端的管理/执行器端点上启用 spring 安全性时,spring-boot-admin 服务器似乎无法与客户端通信——通过 Web 浏览器登录到管理界面会导致连续验证窗口循环弹出并提示输入用户名/密码。点击取消将在页面上显示 HTTP 401 错误。
这是在客户端工作的配置:
management.security.enabled=false
security.basic.enabled=true
security.user.name=test
security.user.password=test
spring.boot.admin.url=http://localhost:9081/admin
spring.boot.admin.username=admin
spring.boot.admin.password=admin
这将:
- 禁用 spring-boot 的管理/执行器资源的安全性
- 为所有其他资源启用安全性(HTTP 基本身份验证 - 用户:test,密码:test)
- 在启动时使用 url http://localhost:9081/admin 注册 spring-admin 客户端(HTTP 基本身份验证 - 用户:admin,密码:admin)
我猜 Spring Boot 管理应用程序不支持与安全客户端的通信,因为我没有看到任何允许在客户端注册时传递信息的配置属性。
有没有人绕过这个限制,如果有,如何解决?可以这么说,我宁愿不让执行器端点“向公众开放”,即使它们实际上只是暴露在公司的内部网络上。
【问题讨论】:
-
您通常在不同的端口上运行执行器端点,这样它们就不会暴露在外部。
标签: spring authentication spring-boot basic-authentication