多级层次结构访问控制表

时间:2014-11-18 01:15:47

标签: mysql database-design acl access-control

我在实施acl时遇到了一些麻烦。我已经有以下

表:用户
ID

表格:角色
ID
角色

table:user_roles
ID
USER_ID
ROLE_ID

表格:权限
ID
权限

table:role_permissions
ID
ROLE_ID
permission_id

table:user_permissions
ID
USER_ID
permission_id

当用户记录,提取角色并根据这些角色时,将获取权限,然后将权限存储在权限数组中以供以后使用。

虽然上述工作正常,但地点和商店的增加让我感到困惑。

表格:地点
ID
位置

表:商店
id
商店

所以,基本上用户可以分配一般角色:
全球管理人员,全球人员 也可以成为位置管理员或人员 然后也可以成为店铺管理员或人员

商店位于一个位置
地点由全球办事处管理

现在,我如何将位置和商店与现有的访问控制集成?

1 个答案:

答案 0 :(得分:2)

您可以关联StoreUserUser和与特定商店相关的所有权限都可以存储在此处。

StoreUserPermission之间存在三元关系 现在,商店和用户有很多关系。在关联表Store_User中,您可以链接Permission表。这将确保每个商店都拥有每个用户的特定权限集

这应该解释更多:

enter image description here