比方說,我有兩種方法做相關但不同的東西@Controller。我想在相同的URL端點上公開它們,但根據安全上下文具有不同的功能。現在我知道,我能有一個映射請求方法和調度,以我的類中不同的效用函數,但我可以線它使Spring MVC的將根據什麼來在處理調度給我嗎?Spring安全註解是否會影響Spring MVC調用的派發?
作爲一個稻草人例如,有代碼ROLE_ADMIN和ROLE_USER之間的調度,但我的實際使用情況是塊好更加複雜:
@Controller
public class Controller {
@RequestMapping("/api/thing")
@PreAuthorize("hasRole('ROLE_ADMIN')")
public String doAnAdministrativeThing() {
... (admin-priviledge stuff goes here)
}
@RequestMapping("/api/thing")
@PreAuthorize("hasRole('ROLE_USER')")
public String doADifferentThing() {
... (normal-priviledged stuff goes here)
}
}
搶佔任何兔子洞:
不,我可能沒有任何選擇餘地具有兩種功能不同的URL或有不同的參數或任何「正常」 @RequestMapping位
安全上下文差異是複雜的,但可以在@PreAuthorize表達內處理
其實有兩個以上不同的情況下派遣上
這是我從文檔中獲得的印象,但它似乎是我想要檢查的一種有用模式。謝謝。 – jricher