使用 MVC 这是一项相对简单的任务。在一个名为的表中创建不同的角色,permissions
然后在另一个名为的表中创建user_permissions
连接user_id
到permission_id
. 然后创建一个函数,可能在一个名为user
called的类中has_role()
。该函数接受两个参数:权限别名和最终的用户 ID。
如果要避免在视图中调用函数,可以在控制器中保存不同的变量,这些变量会传递给视图,例如:
$isAdmin = $user->has_role('admin');
$isOperator = $user->has_role('operator');
如果您只向管理员显示一些内容,您可以在视图中执行以下操作:
<?php if($isAdmin): ?>
<p>Admin only content</p>
<?php endif; ?>
但是,如果您只有管理员页面,只需将
if(! $this->user->has_role('role')) {
header("Location: /index.php");
die();
}
会成功的。所有这一切在没有 MVC 部分的情况下当然是可行的,但是它变得更加干净。