據我所知,如果你想基於用戶的姓氏限制對API的訪問(按照你的例子),我將設置一個我可能做的事情的樣例場景。
例如說我有一個端點如/api/family?lastname=doe
這個API的目的的API是返回的人的名單有相同的姓氏在這種情況下,「母鹿」。如果參數中提供的姓氏等於當前授權用戶的姓氏,API將僅返回結果。
所以也許我不得不設置爲一個API如下:
@RequestMapping(value="/api/family", method = RequestMethod.GET)
@ResponseBody
public List<Member> findFamilyMembersByLastName(@RequestParam(value="lastname", required=true) String lastName){
User authorizedUser = getCurrentUser(); // Set up a method that is able to get the current logged in user
if(!authorizedUser.getLastName().equals(lastName){
// Throw some kind of exception here
}
// otherwise perform a query to find a list of Members with last name and return them
}
只是爲了澄清,你想限制除了谷歌用戶的訪問給大家? – Dayna
不是真的。現在我有每個谷歌用戶都可以訪問/使用API。我想要的是根據其個人資料中的某些內容來限制某些谷歌用戶的訪問權限(例如,假設他們的姓氏) – salviialex