建议看一下这篇文章 http://blog.csdn.net/yifeiyuann/archive/2006/11/21/1400910.aspx

解决方案 »

  1.   

    加个用户组,然后给用户组付权限,用户加到用户组内,可以在用户组的权限可充许内进行重新付权限,但最大权限不能超过用户组的权限假设用户组GA
    权限是1最大把用户加到用户组GA中,这时用户是最大权限,再对用户进行付权把用户的对权限2里面的权限收回,这样用户就没用2的权限了,
    但他还有其它权限,同时也是权限1内的权限,对于其它权限2.3.4里面也可以这么做,
      

  2.   

    XIEXIE 楼上 我想下
    2楼谢谢 不过2进制做法有点麻烦 
      

  3.   

    用ACL可以实现复杂的权限控制
    可以看看PHPGACL
    现在很多框架都内置了acl..
      

  4.   


    角色权限系统包括: 组、用户、角色、权限基本表:Group,User,Role,Power关系表:Group_User,User_Role,Role_PowerPower 包含:逻辑名Power_Name,逻辑权限Power_Enable(允许/拒绝),权限等级Power_Level(读/写)用Group_User来将用户划分成组,n:n,为了管理User
    用User_Role来将给用户分配角色,n:n,为了管理权限
    用Role_Power来将给角色分配权限,n:n,为了管理逻辑用户登录时,根据User获得1个或多个Role,保存在Session中;每个页面(逻辑)加入权限的判断,实际是一条SQL语句 Select Power_Level FROM Role_Power WHERE (Role=Role(1) OR Role=Role(2)) AND Power_Name=逻辑名 AND Power_Enable=True如果找不到没有记录,就是没有权限或该项被拒绝,如果有记录,再进一步判断Power_Level