Spring Security用于安全認(rèn)證
Spring Actuator用于應(yīng)用監(jiān)控
在實(shí)際項(xiàng)目中,兩者結(jié)合使用的一些注意事項(xiàng)盛险,總結(jié)如下:
endpoints.sensitive 用于控制 actuator 端點(diǎn)僧家,security.basic 用于控制 Controller 層接口雀摘,二者互不影響
針對(duì) actuator 的權(quán)限控制
1. endpoints.sensitive 和? management.security.enabled 有一個(gè)關(guān)閉,則無需鑒權(quán)八拱,例如:
endpoints.sensitive = false 所有端點(diǎn)打開阵赠,即無需密碼驗(yàn)證,即使 management.security.enabled=true肌稻,也配置了 security.user清蚀,也無需鑒權(quán)。
endpoints.sensitive = true 所有端點(diǎn)需要驗(yàn)證爹谭,但 management.security.enabled=false枷邪,即使配置了 security.user,也無需鑒權(quán)诺凡。
2. endpoints.sensitive 和? management.security.enabled 都打開的情況下:
1)配置了 security.user东揣,使用對(duì)應(yīng)用戶名/密碼可打開
2)未配置 security.user践惑,則一定打不開
3. 若需單獨(dú)開啟或關(guān)閉某個(gè)端點(diǎn),則使用 endpoints.端點(diǎn)名.屬性名=true/false嘶卧,例如: endpoints.info.sensitive=false
注: actuator 端點(diǎn)權(quán)限控制與 security.basic.enabled 無關(guān)尔觉。以上規(guī)則,對(duì)于單個(gè)端點(diǎn)的開關(guān)芥吟,同樣適用侦铜。
針對(duì) Controller 層接口權(quán)限控制
1. security.basic.enabled=false,則所有接口無需鑒權(quán)钟鸵,即使配置了 security.user
2. security.basic.enabled=true钉稍,也配置了 security.user,則看 security.basic.path携添,則只有該path中的接口需要鑒權(quán)嫁盲,默認(rèn)為所有接口
3. 若需要單獨(dú)控制某個(gè)接口,則使用 security.basic.path=/config/qryUser 多個(gè)時(shí)以逗號(hào)隔開
注: Controller 層接口權(quán)限控制與 endpoints.sensitive 和? management.security.enabled 無關(guān)