我正在从事的一个项目中有一个场景,其中有一个中央数据库,组织内的各个分支机构和子单位都在访问该数据库。除了我知道如何处理的基于角色的权利(如操作员、管理员、批准者等)之外,还需要在组织单位级别过滤数据。
例如,参见下图所示的组织结构:
在这种情况下,在总部级别工作的任何用户都可以访问用户有权访问的那些屏幕中跨分支的所有数据(基于角色)。但是,分支 1 中的任何人都只能看到单元 1.1、1.2 和 1.3 的数据。分支 2 也是如此。当我们将其推广到下一个级别时,Unit 1.1 中的用户只能访问 Unit 1.1 的数据,而不能访问其他单元的数据。
那么,这种访问控制是否可以通过 Domain Object Security 或 Spring Security 中的任何其他机制实现?
我也正在探索在 Hibernate 中使用拦截器进行必要过滤的可能性。在这方面的任何帮助也会有用吗?