Spring Security ACL 层次结构

Posted

技术标签:

【中文标题】Spring Security ACL 层次结构【英文标题】:Spring Security ACL Heirarchy 【发布时间】:2016-09-06 20:29:50 【问题描述】:

我曾使用过基于 Spring Security Role 的安全性,但对 Spring Security ACL 还是陌生的。我需要使用 Spring 安全性在对象层次结构上实现 ACL。就像我的公司有不同的分支机构,每个分支机构都有多个部门,这些部门可以有多个部门。

现在公司管理员应该可以访问该公司的所有数据。将有分部管理员、部门管理员和部门管理员。分支管理员将有权访问每个部门和后续部分的数据。也可能有一个“分支”管理员可以访问多个分支。

我的应用程序堆栈是 Spring 4、Spring security 4、Hibernate 5 和带有 Primefaces 5.3 的 JSF2。

我无法搜索示例,并想出了这将对我的数据库设计产生什么变化以及我应该如何配置 Spring Security ACL 的想法。请参考示例或指南。

【问题讨论】:

【参考方案1】:

我们可以为每个部门和部门添加角色,通过使用下面提到的角色层次结构数据库设计,您可以使用此链接中解释的场景来解决问题

How to implement ACL spring security to share an object among group of users without creating many entries in ACL_Entry table

【讨论】:

以上是关于Spring Security ACL 层次结构的主要内容,如果未能解决你的问题,请参考以下文章

Java:Spring security 3 角色层次结构

Spring security @secure 不适用于角色层次结构

Spring Webflux Security 中的角色层次结构

如何在 Spring Security 3 和 Spring EL 中使用角色层次结构?

Spring Security 3.2 - 配置全局方法安全性以使用角色层次结构

spring security acl 不比较按位权限