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



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

  1. 数据库表如下(page、admin、manager、developer)。page是pagename,admin,manager,developer是布尔型字段。如果属性字段为1或true,则角色具有访问权限
  2. 现在我需要将数据库与所有100个页面同步。我知道登录用户属于哪个角色。但我不知道如何传递页面并将其与表匹配,以检查特定用户是否有访问权限

我的计划是checkpermission($_SERVER['HP_SELF'],$role);到每一页。我应该如何正确地执行此操作?如果我把这行放到header.php上可以吗?这会是糟糕的设计吗?

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

$ROLID = $_SESSION['ROLID'];
if($ROLID == 2 || $ROLID == 3) header('Location: 'www.foo.com/home.php');

因此,管理员的角色ID为1,这使他们可以访问任何页面。如果用户的角色ID为2或3(经理或开发人员),他们将被重定向到主页。

将此代码放在页面顶部。

最新更新