【发布时间】:2015-08-07 16:55:11
【问题描述】:
我正在开发一个应用程序,其中每个员工都有自己的客户。
当员工想要显示、修改或删除客户时,我想确保该客户是该员工之一。那是因为执行这些操作的 url 就像
www.xxx.com/customers/update/{idCustomer}
我现在验证客户访问权限的方式是通过服务调用(具有数据库访问权限)来确保该客户是该员工之一。
这个应用程序是用 Spring MVC 和 Spring Security 编写的。我想知道是否有更好的方法来做同样的限制访问?
【问题讨论】:
-
这对于一个 SO 问题来说相当广泛......看起来 Spring 对您的问题的安全性答案是使用 ACL 和 ACE 的域对象安全性。您将域对象置于与在体面的文件系统中的文件上几乎相同的授权级别,并使用方法注释来控制它们。它可能不是 Spring Security 中最简单的部分,但却非常强大。
-
您可以在客户表中添加员工外键。因此,您可以控制客户是否属于某个员工。这可能是解决您的问题的更简单方法
标签: java spring spring-mvc spring-security