通过权限访问脚本

时间:2009-10-20 01:05:00

标签: php kohana

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

  1. 将权限存储为具有2(2,4,8,16)幂的键的数组,并使用按位运算符将用户权限与访问脚本所需的权限进行比较
  2. 将权限存储为字符串,并为脚本分配一组权限。如果用户尝试访问该脚本,则执行数据库查找(以查找用户拥有的权限)
  3. 你对这个有更好的方法吗?我尝试使用按位运算符,我看到了一种使用常量的方法(即const ADD_FORUM = 2)但我计划将我的权限放在配置文件中并将它们设置在那里,允许我从任何脚本调用它。

    不过,我正在使用Kohana,我最近开始用PHP开发......我决定在Kohana中构建自己的auth lib

1 个答案:

答案 0 :(得分: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';