我正在研究網關後面的服務方法,以便輕鬆進行通信。Spring安全性全局預授權規則
該計劃在oauth令牌中使用該範圍,該範圍將由在同一系統上運行的服務使用。
例如。如果oauth令牌具有作用域'acct'和'user',則可以使用bellow api方法。在不更改註釋的情況下,我希望它也可用,前提是令牌具有「管理員」範圍,並且缺少其中一個或兩個範圍的「acct」和「user」。
@PreAuthorize("#oauth2.hasScope('acct') and #oauth2.hasScope('user')")
@RequestMapping(value = "/scopedtest", produces = "application/json")
public Map<String, String> indexWithScope() {
return getHashMapResult();
}
我想這個「管理員」範圍被全球所接受,使服務開發人員不必包括每個API控制自己給管理員範圍,但仍允許內部服務訪問的其他內部服務的API 。
這將作爲攔截預授權的調用並將響應更改爲調用者被授權(如果具有「管理」範圍)的代碼。如果oauth標記具有從預授權標註中要求的作用域,則該調用將正常工作。