我不是Spring 4的新手,但我是Spring Security 4 ACL的新手。我刚刚在我的MVC web-app上实现了Spring Security 4,这些都是后端Web服务。一个链接,我做了什么张贴在这里:Spring Security 4 ACL为用户和角色分配权限
http://stackoverflow.com/questions/33787085/spring-security-4-with-third-party-authentication-token
而这增加了我的URL的安全性,只有具有特定角色的用户可以请求一个URL。这很棒!我们使用SiteMinder示例,而不是传回用户名,而是在请求标头中回传令牌。我们打电话给OpenAM传递这个令牌,我们找回一个用户名。我们使用Hibernate Authentication从我们的数据库获取用户信息,我们为该用户获取角色,并为我们制作UserDetails,并以这种方式为这个经过身份验证的用户提供SecurityContext。
但现在我正在接受一个新的挑战,在同一个MVC网络应用程序中,那就是我想为我的对象添加ACL安全性。我已经做了大量的研究,将来会有更多,我还有几个问题。
看来我可以在ACL表中应用安全性(创建和/或检索和/或删除和/或更新和/或等等)。我想知道是否有可能应用安全是这样的:
userA SomeCarObject has permissions (create,read,update)
userB SomeCarObject has permissions (read)
roleA SomeCarObject has permissions (update)
roleB SomeCarObject has permissions (delete)
所以,既可以在用户和角色都有不同的权限,一个对象?
我们有三种不同的对象类型:汽车,动物,花朵 我们希望使用ACL为用户和角色分配不同的权限,以满足这些对象类型的每一种。
这可以用Spring Security 4中的ACL来完成吗?你知道有哪些好的例子吗?或者,我们是否必须拥有所有用户权限? 因此,如果我们有3个用户的角色,那么我们需要在acl表中有3个条目,每个用户有一个条目?这就引出了问题......如果用户改变角色,那么我们将不得不重新评估他们的权限,我们可能需要添加或删除ACL表中的记录?
我也在看如何权限的工作。我们现在在旧系统中使用一个位掩码来跟踪权限,所以我们有recursiveRead(1),read(2),write(4),delete(8),create(16),upload(32),关闭(64)等等。似乎我们可以拥有32位许可,这对我们来说非常有用。
所以,我正在看我们如何在ACL中定义这些权限。
随着我获得更多信息,我一定会在此发布。谢谢!
太棒了!感谢您的信息。我会让你知道结果如何。 – tjholmes66