尝试使用Spring Security ACL解决以下问题:只有学校A中的老师可以更新学校A的日历。

是否可以实现这样的权限结构而无需为每个老师添加ACL条目以在该学校的日历上拥有更新权限(方法1)?还是可以定义学校A组,将该学校中的每个老师分配给该组,并在该学校的日历上授予该组写许可(方法2)?

方法2是可取的,因为方法将为单个项目(例如日历)生成相同数量的记录,但是如果共享另一个项目(例如,学校A的留言板),方法2将仅需要1条额外的记录,方法1将要求为每位老师提供新记录,如果删除或添加老师(2次删除/ 2次更新),则更难维护。

最佳答案

您可以在spring acl中授予grant_authorities权限。基本上,由于您位于某个组中,因此可以为该组(显式或隐式)创建授予的权限。属于该组的用户将获得GA。权限已分配给GA。如果将用户从组中删除,则删除GA,他们将失去访问权限。

10-07 20:52