0

如何使用权限方案限制对脚本的访问?我想到了ff​​:

  1. 将权限存储为具有 2 次幂(2、4、8、16)的键的数组,并使用按位运算符将用户权限与访问脚本所需的权限进行比较
  2. 将权限存储为字符串并将一组权限分配给脚本。如果用户尝试访问脚本,则会执行数据库查找(以查找用户拥有的权限)

你有更好的方法吗?我尝试使用按位运算符,并且看到了一种使用常量的方法(即 const ADD_FORUM = 2),但我计划将我的权限放在配置文件中并将它们设置在那里,允许我从任何脚本调用它。

顺便说一句,我正在使用 Kohana,我最近开始使用 PHP 进行开发......我决定在 Kohana 中构建自己的身份验证库

4

1 回答 1

1

conf文件中的一些地方:

const('VIEW_FORUM', 1);
const('ADD_FORUM', 2);
const('DELETE_FORUM', 4);

在用户详细信息中:

// read only user
$userPermissions = VIEW_FORUM;
// full access
$userPermissions = VIEW_FORUM + ADD_FORUM + DELETE_FORUM;

在您需要检查权限的页面上:

// permission ADD_FORUM is required  
if ($userPermissions & ADD_FORUM) echo 'all good';

// permission ADD_FORUM & DELETE is required  

if ($userPermissions & (ADD_FORUM + DELETE_FORUM)) echo 'all good';
于 2009-10-20T10:48:29.603 回答