【问题标题】:Custom ACL for Row-Level Security用于行级安全性的自定义 ACL
【发布时间】:2015-04-24 19:52:08
【问题描述】:

我见过一些使用权限表的行级 ACL 实现,其结构如下:

User_Id 
Subject_Class
Subject_Id
Permission_Id

其中 Permission_Id 是(读取、写入、更新、删除、批准等)

我想知道用数据描述关系 (Relationship_Id) 是否有任何好处,而不是描述权限。

我们将描述用户是“所有者”、“批准者”、“审阅者”、“公共查看者”等的想法。

然后,这种关系将定义一组权限。这可以减少权限的大小。

对这种方法有什么想法吗?

【问题讨论】:

    标签: acl row-level-security data-security


    【解决方案1】:

    如您所述,角色是权限的组合。如果您有一个大小为 n 的权限集,您可以拥有所有这些权限的 2^n 个组合。这意味着如果您有 5 个权限,则需要 32 个角色。如果你有 10 个权限,你就有 1024 个角色!

    使用权限路由似乎也更易于维护 - 假设您想从一组用户中删除访问权限。您只需执行一个简单的查询即可删除授予这些用户访问权限的行。但是,如果您有角色,您首先需要找到所有包含访问权限的角色,从特定用户中删除这些角色,然后然后找到与每个用户以前的角色相似的所有角色减去访问权限,并将这些角色分配给用户。看起来工作量很大。

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 2013-11-08
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多