Spring Security+Spring Actuator實踐

Spring Security用於安全認證
Spring Actuator用於應用監控
在實際項目中,兩者結合使用的一些注意事項,總結如下:
endpoints.sensitive 用於控制 actuator 端點,security.basic 用於控制 Controller 層接口,二者互不影響
針對 actuator 的權限控制
1. endpoints.sensitive 和 management.security.enabled 有一個關閉,則無需鑑權,例如:
endpoints.sensitive = false 所有端點打開,即無需密碼驗證,即使 management.security.enabled=true,也配置了 security.user,也無需鑑權。
endpoints.sensitive = true 所有端點需要驗證,但 management.security.enabled=false,即使配置了 security.user,也無需鑑權。
2. endpoints.sensitive 和 management.security.enabled 都打開的情況下:
1)配置了 security.user,使用對應用戶名/密碼可打開
2)未配置 security.user,則一定打不開
3. 若需單獨開啓或關閉某個端點,則使用 endpoints.端點名.屬性名=true/false,例如: endpoints.info.sensitive=false
注: actuator 端點權限控制與 security.basic.enabled 無關。以上規則,對於單個端點的開關,同樣適用。

針對 Controller 層接口權限控制
1. security.basic.enabled=false,則所有接口無需鑑權,即使配置了 security.user
2. security.basic.enabled=true,也配置了 security.user,則看 security.basic.path,則只有該path中的接口需要鑑權,默認爲所有接口
3. 若需要單獨控制某個接口,則使用 security.basic.path=/config/qryUser 多個時以逗號隔開
注: Controller 層接口權限控制與 endpoints.sensitive 和 management.security.enabled 無關
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章