我有一个3层应用程序,需要将安全授权放在各种域对象上。
无论我使用Spring的ACL实现还是自己编写ACL,我认为基于ACL的安全性只能用于授权(服务)方法,不能用于授权URL或Web服务调用。我认为这是因为Web服务调用如何在它补充XML有效负载之前检查ACL?此外,Spring文档中的Web访问安全性的所有示例都是基于Role保护URL。
使用Spring的角色来保护Web演示和Web服务调用是否典型,同时使用ACL来保护业务方法?这有点过头了吗?
答案 0 :(得分:3)
使用Spring的角色是否典型? 安全的Web演示文稿和Web 服务电话,同时 使用ACL来保护业务 方法
是
通过组合请求映射和安全注释,您可以在控制器中轻松完成此操作:
@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)添加安全注释将完成安全设计。
这是否过度?
这取决于您的申请。最小的是你应该保护你的控制器。不保护您的DAO可能会在将来引入安全漏洞。
我们正在努力为我们的应用程序添加此类安全性。