我有一个3层应用程序,要求将安全授权放置在各种域对象上.@H_301_2@
无论我使用Spring的ACL实现还是自己动手,在我看来,基于ACL的安全性只能用于授权(服务)方法,而不能用于授权URL或Web服务调用.我认为这是因为Web服务调用如何在将XML有效负载充水之前检查ACL?另外,Spring文档中有关Web访问安全性的所有示例都基于URL来保护URL.@H_301_2@
使用Spring的角色来保护Web表示和Web服务调用是否安全,同时使用ACL来保护业务方法,这是典型的做法吗?这是过度杀伤力吗?@H_301_2@
最佳答案
Is it typical to use Spring’s roles to
secure web presentation and web
service calls,while at the same time
using ACL’s to secure the business
methods?@H_301_2@
是.@H_301_2@
通过将请求映射和安全注释结合起来,可以在您的控制器中轻松完成此操作:@H_301_2@
@H_301_2@
@RequestMapping("/some/url")
@Secured( {"ROLE_GET_THE_DATA"} )
public ModelAndView getTheData(HttpServletRequest request,HttpServletResponse response) throws Exception {
// get the data
// return it in your mav
}
向您的数据访问对象(DAO)添加安全的批注将完成安全性设计.@H_301_2@
@H_301_2@
Is this overkill?@H_301_2@
这取决于您的应用程序.至少应保护控制器.不保护您的DAO可能会在将来引入安全漏洞.@H_301_2@