PHP多级授权

时间:2017-03-19 09:39:30

标签: php mysql authorization access-control abac

explained matter

我为一家公司建立了一个系统,他们在其他省份有几家分公司。 每个分支都是彼此分开的,这家公司的老板向我们询问,不允许branch_1管理员查看或控制branch_2的数据及其反转。通过所有分支这样的。 每个分支机构都有多个员工,一个分支机构的每个员工都可以插入该分支机构的相关数据,员工不能对数据进行其他控制。 我用纯PHP和MySQL制作了系统。 最终我想要一个好方法来进行这个项目。

1 个答案:

答案 0 :(得分:0)

您可以通过定义user_role,is_super_admin,default_branch_id等来使用数据库中的用户表来执行此操作,并通过在会话中保存default_branch_id来控制用户。

  • 在会话中保存branch_id。然后当branch_1的用户登录时,他将能够看到branch_1数据。
  • 通过在用户表中定义user_role_id,您可以为不同的用户提供不同的权限。例如:
    role_id=1 means Super Admin. He has control all over the system.
    role_id=2 means Admin. He has control on a single branch.
    role_id=3 means HR. He has see report only` 
    

对于角色明智的权限,您可以阅读有关role wise privilege in phphere

的教程
相关问题