我已经看到了一些使用具有
结构的Permission表的行级ACL的实现User_Id
Subject_Class
Subject_Id
Permission_Id
其中Permission_Id是(读,写,更新,删除,批准等)
我想知道用数据描述关系(Relationship_Id)是否有任何好处,而不是描述权限。
我们想要描述一个用户是"所有者","审批者","审稿人","公共浏览器"等等。
然后,此关系将定义一组权限。这可能会减少权限的大小。
对这种方法有何想法?
答案 0 :(得分:0)
正如您所说,角色是权限的组合。如果您拥有大小为n的权限集,则可以拥有所有这些权限的2 ^ n个组合。这意味着如果您有5个权限,则需要32个角色。如果您有10个权限,那么您将拥有1024个角色!
使用权限路由似乎也更易于维护 - 例如,您要删除一组用户的访问权限。您只需执行一个简单的查询即可删除为这些用户提供访问权限的行。但是如果你有角色,你首先需要找到包含访问权限的所有角色,从特定用户中删除那些角色,然后然后找到所有角色,就像每个角色一样。 user 减去访问权限,并将这些角色分配给用户。好像很多工作。