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 啓動驗證

在這裏插入圖片描述
這個記住用戶就是在配置類裏面最後一行加上去的。
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章