Spring 自定义用户组的安全授权

Spring Security authorization for custom usergroups

我正在尝试实施具有 spring 安全性的 Web 应用程序。我了解 spring 安全性的基于角色的机制并且可以让它发挥作用。我的问题是,在我的网络应用程序中,用户可以创建自己的群组并向其中添加朋友(该应用程序的其他用户)。用户的某些页面的访问是基于这个朋友组的。它应该类似于 facebook 用户和组。 如何实现这些自定义用户组和访问具有 spring 安全性的用户页面?此用例是否有默认机制?还是我应该实现自己的数据库表?

我正在使用具有 ACL 机制的用户组。基本上我确保在为对象创建 ACL 时设置所有者。然后,当另一个用户尝试访问此对象时,将检查所有者的组以查看是否存在匹配项。

这当然意味着当用户更改他的组时对象 'goes with him'。

如果您不希望出现这种行为,您可以将组对象的 ACL 作为安全对象的父 ACL。然后,当用户更改组时,您应该为组对象 ACL 设置正确的条目。这样安全对象就绑定到用户组而不是用户自己。

Spring Security Domain Object Security (ACLs)