我在想什麼是在Spring MVC控制器中保護handler method
的好方法。現在我使用@Secured
註釋,它確保某些方法只能由登錄用戶訪問。但是如何確保一個登錄用戶不會對其他用戶造成不良影響?例如,我有刪除項目與給定id
的方法。爲了確保有人不能移除除物品之外的物品,我會檢查物品所有者。更好的方式來做這樣的事情?Spring MVC:安全處理器方法
@Secured("ROLE_USER")
@RequestMapping("/deleteitem.html")
public String delete(@RequestParam(value="id") Long id) {
Item b = itemDAO.get(id);
if(b.getOwner().getId().equals(((UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal()).getUser().getId())) {
itemDAO.delete(id);
}
return "redirect:/user/items.html";
}
我不想限制某些操作給特定用戶。 – marioosh 2011-04-13 12:16:55