Spring Boot Admin基于security认证非注册中心版
GitHub地址,最新版本为2.0.2基于spring boot 2.x
https://github.com/codecentric/spring-boot-admin
注意:选分支版本每个版本还一样:本示例是基于1.5.x
开始整合的时候踩了很多坑,都是因为版本不兼容的问题,最后在gitHub上找到。按照官方版本
spring boot 用的是1.5.10
spring cloud 用的Edgware.SR4版本。版本太不兼容了,开始用SR1版本,但是spring cloud相关相关jar引入不进来报错,最后在spring cloud官方看,用了Edgware最后一个版本SR4。
示例:
新建maven项目如下结构:
parent pom.xml配置
主要配置spring boot 和spring cloud 版本,具体配置如下:
927.spring-boot-admin-simple-server
pom.xml
引入相关依赖配置
SecurityConfig.java
安全认证相关配置
NotifierConfig.java
通知消息相关重写
启动类
application.properties
启动springboot启动类,访问http://localhost:8080/login.html
用户名和密码都是上面配置的root
以上完成还没有client端,以下新建client端demo
927.spring-boot-admin-simple-client
pom.xml
启动类
application.properties
启动client端
通知:
刷新浏览器
源码地址:https://gitee.com/niugangxy/springcloud 在 spring-cloud-learn-code文件下中
官方文档对Spring-Boot-Admin安全的介绍
保护Spring Boot Admin Server
由于解决分布式Web应用程序中的身份验证和授权有多种方法,因此Spring Boot Admin不提供默认方法。 如果在依赖项中包含spring-boot-admin-server-ui-login,它将提供登录页面和注销按钮。
Spring Security配置可能如下所示:
注意:
如果保护/api/applications端点,请不要忘记使用spring.boot.admin.username和spring.boot.admin.password在SBA客户端上配置用户名和密码【否则你的client端信息注册不到server端上】。
官方示例地址:https://github.com/codecentric/spring-boot-admin/blob/1.5.x/spring-boot-admin-samples
保护客户端Actuator端点
使用HTTP基本身份验证保护Actuator点时,SBA服务器需要凭据才能访问它们。 注册应用程序时,您可以在元数据中提交凭据。 然后,BasicAuthHttpHeaderProvider使用此元数据添加Authorization标头以访问应用程序的执行器端点。 您可以提供自己的HttpHeadersProvider来改变行为(例如添加一些解密)或添加额外的标头。
使用SBA客户端提交凭据:
application.yml
使用Eureka提交凭据:
application.yml
注意:SBA服务器屏蔽HTTP接口中的某些元数据,以防止泄漏敏感信息。
在通过元数据提交凭据时,应为SBA服务器或(服务注册表)配置HTTPS。
使用Spring Cloud Discovery时,您必须意识到任何可以查询服务注册表的人都可以获取凭据。
微信公众号