我在想什么是在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