spring boot集成 Admin


git地址
https://github.com/a18792721831/studySpringCloud.git

1. spring boot admin

1.1 spring boot admin server

1.1.1 创建

在这里插入图片描述

1.1.2 配置

详细配置见 https://codecentric.github.io/spring-boot-admin/2.2.1/
在这里插入图片描述

1.1.3 日志模板

在这里插入图片描述

1.1.4 注解

在这里插入图片描述

1.1.5 启动

启动eureka server以及admin-server
然后访问admin-server的端口
在这里插入图片描述
admin-clinet是接下来需要创建的。
选中进去还有更加详细的信息
在这里插入图片描述
同时在项目根路径下生成了日志文件
在这里插入图片描述
当然,在界面上也能看日志
在这里插入图片描述
还可以给不同的日志设置不同的颜色
在这里插入图片描述
因为admin组件集成了actuator,所以,在actuator里面的信息admin都能展示。
很强大。
展示线程活动
在这里插入图片描述
黄色是wait
在这里插入图片描述
绿色是run
在这里插入图片描述
甚至子线程也能展示
在这里插入图片描述
映射等
在这里插入图片描述
没有集成缓存组件,所以没有缓存。
在这里插入图片描述
关键性日志等
在这里插入图片描述
话说admin的展示很强大,也很美观,但是感觉有些重,太细了,对于生产一般好几年,这个就有些不太适用了。

1.2 spring boot admin client

1.2.1 创建

在这里插入图片描述

1.2.2 配置

在这里插入图片描述

1.2.3 日志模板

在这里插入图片描述

1.2.4 注解

在这里插入图片描述

1.2.5 启动

在这里插入图片描述
在这里插入图片描述

2. spring boot admin 集成 turbine(admin 2.x不支持,未实现)

2.1 spring boot admin client hystrix

2.1.1 创建

在这里插入图片描述

2.1.2 配置

在这里插入图片描述

2.1.3 日志模板

在这里插入图片描述

2.1.4 注解

在这里插入图片描述

2.1.5 controller

在这里插入图片描述

2.1.6 hystrix 配置

在这里插入图片描述
在这里插入图片描述

2.1.7 启动验证

在这里插入图片描述
成功熔断。

2.2 spring boot admin client service

2.2.1 创建

在这里插入图片描述

2.2.2 配置

在这里插入图片描述

2.2.3 日志模板

在这里插入图片描述

2.2.4 注解

在这里插入图片描述

2.2.5 controller

在这里插入图片描述

2.2.6 启动验证

在这里插入图片描述
在这里插入图片描述
熔断器正确访问。

2.3 spring boot admin client turbine

2.3.1 创建

在这里插入图片描述

2.3.2 配置

在这里插入图片描述
在这里插入图片描述

2.3.3 日志模板

2.3.4 注解

在这里插入图片描述

2.3.5 启动验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.4 spring boot admin server turbine

在这里插入图片描述
擦,看的资料太老旧了,spring cloud admin 2.x删除了这部分。。。。

3. spring boot admin 集成 security

3.1 创建

在这里插入图片描述

3.2 配置

server:
  port: 8321

eureka:
  client:
#    register-with-eureka: false
#    fetch-registry: false
    service-url:
      defaultZone: http://127.0.0.1:8761/eureka/
  instance:
    metadata-map:
      user.name: ${admin.login.user.name}
      user.password: ${admin.login.user.pswd}


logging:
  level:
    org:
      springframework:
        web:
          servlet:
            mvc:
              method:
                annotation:
                  RequestMappingHandlerMapping: trace
  file: logs/spring-boot-admin-server.log

spring:
  freemarker:
    template-loader-path: classpath:/templates/
    prefer-file-system-access: false
  application:
    name: admin-server
  boot:
    admin:
      client:
        username: ${admin.login.user.name}
        password: ${admin.login.user.pswd}
        instance:
          metadata:
            user.name: ${admin.login.user.name}
            user.password: ${admin.login.user.pswd}
management:
  endpoints:
    web:
      exposure:
        include: '*'
admin.login.user.name=admin
admin.login.user.pswd=123456
admin.login.user.role=ADMIN

这里有一个诡异的问题:密码必须是password,配置其他的密码,在最终登录时,都是无效用户名密码。
基于此,尝试修改用户名,发现在其他条件不变的条件下,修改用户名是可以登录的。
修改密码则导致无法登录。

3.3 配置类

在这里插入图片描述
35行设置默认的url是/
38设置所有的都需要凭证
42行设置登录界面
43行设置登出界面
46行设置使用httpBasic(通过配置,应该可以实现其他的)
45、46行设置禁止csrf(不知道这个scrf是个啥)
47行设置保存用户名密码的选项

比较坑的是52行
首先给大家看下官网给出的例子:
https://codecentric.github.io/spring-boot-admin/2.2.1/#_securing_spring_boot_admin_server
在这里插入图片描述
对52行完全没有任何说明,给的例子里面是这样的:
在这里插入图片描述
发现没有,他的用户名和密码以及角色,都是在代码中硬编码了。
所以,对于官网给出的例子,我个人感觉这里硬编码不太好。
使用硬编码就必须使用user的用户名和password的密码。
(这个之前没想到官网实例还是这么坑,且没啥说明)
经过不断的测试,决定使用配置。

admin.login.user.name=admin
admin.login.user.pswd=123456
admin.login.user.role=ADMIN

然后在config里面读取配置,这样至少不是硬编码了。
还有一个疑点:
在这里插入图片描述
这个必须这样写,当然还有其他的几种可以选择。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有故事,不单纯。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
所以,这个noop还真不是乱写的。
看这些类的名称以及操作,应该是与密码加密存储使用有关的。
仔细看看里面的操作,noop差不多就是不加密(无语。。。。)
当然,其他的我未亲自验证,这里只是一个猜测。

3.4 日志模板

3.5 注解

3.6 启动验证

在这里插入图片描述
这个记住用户就是在配置类里面最后一行加上去的。
在这里插入图片描述
在这里插入图片描述

发布了182 篇原创文章 · 获赞 88 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/a18792721831/article/details/104862831