解决方案 »

  1.   

    以前写过个小项目也是权限问题,我们是这样解决的:当用户登录时就把用户的信息(包括权限,我那时权限用的是数字。假如该用户权限为5)存在session中,当该他要做某个操作时比如删除(权限要求要>6),比较当前权限和要求权限的大小....太遥远了 记不太清楚了
      

  2.   

    一般身份识别(登录)后就引入角色到session,然后根据角色查表得到权限
      

  3.   

    先确定权限字的表示和存储
    php 的整型数为 logn 类型,具有64个二进制位。
    因此,足以满足大多数应用的需求。(每个二进制位表示一个动作)每个角色具有一个权限字,每个用户可以具有多个角色
    每个用户还可以拥有一个例外权限字综合权限采用位运算求出:
    用户权限 = 角色权限 xor 例外
    其中:角色权限 = 用户隶属角色权限 or 用户隶属角色权限 ...
      

  4.   

    角色<->权限;权限<->菜单
      

  5.   


    感谢。  关于权限的存储和分配说的非常清楚那具体在调用时怎么使用呢?比如现在有一个 删除 按钮具有删除权限的角色们查看这个页面时可以看到这个按钮, 该怎么写? 用if、else吗?点击删除按钮后提交到PHP 还需要再次判断权限吗?
      

  6.   

    条件判断总是必要的,不然如何知道谁是谁?
    不过也很简单
    $u = 0b1011; //用户权限
    $p = 0b0010; //动作号(前面我已经讲了可以有64种动作)
    if($p & $u) echo '有权限';
      

  7.   

    RBAC权限模式就可以  这些网上一大堆,自己可以查查