Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 多级访问控制表_Mysql_Database Design_Acl_Access Control - Fatal编程技术网

Mysql 多级访问控制表

Mysql 多级访问控制表,mysql,database-design,acl,access-control,Mysql,Database Design,Acl,Access Control,我在实现acl时遇到一些问题。我已经有了以下内容 表格:用户 id 表格:角色 id 角色 表格:用户角色 id 用户id 角色id 表格:权限 id 权限 表格:角色权限 id 角色id 权限\u id 表格:用户权限 id 用户id 权限\u id 当用户登录时,将获取角色,并基于这些角色获取权限,然后将其存储在权限数组中以供以后使用。 虽然上面的工作很好,但地点和商店的增加让我感到困惑 表格:位置 id 位置 表格:存储 id 商店 因此,基本上可以为用户分配一个常规角色: 全球管理员、全

我在实现acl时遇到一些问题。我已经有了以下内容

表格:用户
id

表格:角色
id
角色

表格:用户角色
id
用户id
角色id

表格:权限
id
权限

表格:角色权限
id
角色id
权限\u id

表格:用户权限
id
用户id
权限\u id

当用户登录时,将获取角色,并基于这些角色获取权限,然后将其存储在权限数组中以供以后使用。

虽然上面的工作很好,但地点和商店的增加让我感到困惑

表格:位置
id
位置

表格:存储
id
商店

因此,基本上可以为用户分配一个常规角色:
全球管理员、全球人员
也可以成为位置管理员或人员
然后也可以成为门店管理员或员工

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


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

您可以连接
商店
用户
<代码>用户和与特定存储相关的所有权限都可以存储在此处

存储
用户
权限
现在,商店和用户之间存在多对多关系。在关联表中,
Store\u User
,您可以链接
权限
表。这将确保每个商店对每个用户都有一组特定的权限

这应该解释更多:


我没有想到这一点。我会试试这个,看看是否有效,谢谢。