基于php角色的访问控制系统-基于页面的权限

基于php角色的访问控制系统-基于页面的权限,php,software-design,role-base-authorization,Php,Software Design,Role Base Authorization,我打算设计一个系统。系统有3种用户类型。管理员、经理、开发人员。 该应用程序由100个php UI页面组成 数据库表如下所示(页面、管理员、管理员、开发人员)。page是pagename,admin、manager、developer是布尔字段。如果pertical字段为1或true,则角色具有访问权限 现在我需要将数据库与所有100个页面同步。我知道登录用户所属的角色。但我不知道如何传递页面并将其与表匹配,以检查特定用户是否具有访问权限 我的计划是 checkpermission($_SERV

我打算设计一个系统。系统有3种用户类型。管理员、经理、开发人员。 该应用程序由100个php UI页面组成

  • 数据库表如下所示(页面、管理员、管理员、开发人员)。page是pagename,admin、manager、developer是布尔字段。如果pertical字段为1或true,则角色具有访问权限
  • 现在我需要将数据库与所有100个页面同步。我知道登录用户所属的角色。但我不知道如何传递页面并将其与表匹配,以检查特定用户是否具有访问权限 我的计划是 checkpermission($_SERVER['PHP_SELF'],$role);到每一页。 我应该如何正确地做到这一点? 如果我把这一行放到header.php,可以吗。这会是糟糕的设计吗

    我主要关心的是可扩展性。他想在不做太多改变的情况下插入另一个站点。我们还想给你一页。管理员可以使用该页面授予、删除权限。将子目录添加到权限树

    $ROLID = $_SESSION['ROLID'];
    if($ROLID == 2 || $ROLID == 3) header('Location: 'www.foo.com/home.php');
    
    因此,管理员的角色ID为1,可以访问任何页面。如果用户的角色ID为2或3(经理或开发人员),他们将被重定向到主页


    将此代码放在页面顶部。

    它的设计很糟糕。只要让它发挥作用,不要再担心设计。你应该看看这个: