【问题标题】:PHP multi level authorizationPHP多级授权
【发布时间】:2017-03-19 09:39:29
【问题描述】:

explained matter

我为一家公司做了一个系统,他们在其他省份有几个分支机构。 每个分公司都相互分离,这家公司的老板要求我们不要让branch_1的经理看到或控制branch_2的数据和它的反相。像这样通过所有分支机构。 每个分支机构有多名员工,一个分支机构的每个员工都可以插入该分支机构的相关数据,员工不能对数据进行其他控制。 我用纯PHP和MySQL制作了系统。 最终我想要一个好方法来进行这个项目。

【问题讨论】:

  • 而您显然想要同一个数据库中同一个表中的所有数据?通常我会建议给每个分支一个单独的数据库。这是保证绝对分离的最好方法,而且很简单。
  • @KIKO Software 但是如果分支机构有不同的数据库,则很难获取整个组织的数据
  • 我知道这一点,但客户老板希望将他的所有数据集成到一个地方。感谢KIKO软件。

标签: php mysql authorization access-control abac


【解决方案1】:

您可以通过定义 user_role、is_super_admin、default_branch_id 等对数据库中的用户表进行操作,并通过在 session 中保存 default_branch_id 来控制用户。

  • 在会话中保存 branch_id 时。然后当 branch_1 的用户登录时,他将能够看到 branch_1 的数据。
  • 通过在用户表中定义 user_role_id 可以给不同的用户不同的权限。例如: role_id=1 表示超级管理员。他可以控制整个系统。 role_id=2 表示管理员。他控制着一个分支。 role_id=3 表示人力资源。他只看过报告`

对于角色权限,您可以阅读 role wise privilege in phphere 上的教程

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 2016-10-02
    • 2014-09-21
    • 1970-01-01
    相关资源
    最近更新 更多