我有REST API,用於訪問「當事人」和URL的這個樣子的:在REST資源的Spring MVC授權
/parties
/parties/{partyId}
使用Spring控制器和@PathVariable我能夠實現這個接口。但是,爲了防止用戶訪問當事人,他們沒有獲得,我要檢查添加到每方法調用這是一種重複自己,我可能會忘記到處添加:
@RequestMapping(value="/parties/{partyId}", method=RequestMethod.GET)
public @ResponseBody Party getParty(@PathVariable Integer partyId){
authorizeForParty(partyId);
...
現在什麼我願做的是創建一個檢查那被稱爲每一個用戶輸入網址這樣的時刻:
/parties/{partyId}/**
我怎麼會做這樣的事?我必須創建一些servlet過濾器並自己解析網址嗎?如果我必須分析網址,那麼是否有至少一些工具可以讓它變得簡單?我希望有一種方法可以添加一個方法到控制器,但會在方法之前調用,但仍然可以使用@PathVariables等...
https://github.com/JamesEarlDouglas/barebones-spring-mvc/tree/master/reference/secure-rest#a-secure-restful-web-service – NimChimpsky
對不起,但我不明白這有助於所有。那裏的例子已經在控制器方法中完成了授權。我不想在那裏這樣做,因爲我可能會忘記其中之一。 – palto