用户 组 交叉性权限管理 概念

权限-》组-》用户
用户属于组,组包括了权限的集合  ,
可以用三个表来表示
权限表 privilege
字段   cid   栏目ID
         gid   组ID
         operation   操作(即各种操作的集合,用整数表示,如1代表查看,2表示修改,4表示删除)
------------------------
组      group  
字段   id     组ID
         name   组名
-------------------------
用户   user
字段   id    用户ID
         gid   组ID
         name  用户名
         pwd   密码
-------------------------
操作时先根据用户表取出用户的组ID,再根据组ID从权限表中取出该组对各个栏目的操作权限   保存在session中
在需要权限控制的页面加入判断即可

======================test.php==================

//如果权限不多用"&"运算就行,超过100位xor运算. 一般系统32位.  二进制或数值定义权限.

<?php
header('Content-type: text/html;charset=utf-8');
include_once("config.php");
//该例简单判断用户是否拥有删除权限。
define("browse",1);//浏览权限
define("delete",2);//删除权限
define("modify",4);//修改权限
define("insert",8);//添加权限
$userpower=browse ^delete^ modify^insert; //用户所有权限,该处应该由上面的表单提交过来得到
$query = mysql_query("select * from privilege as a,admin as b where a.gid=b.gid and b.name='sara'");
$row = mysql_fetch_array($query);
echo "</br>";
//print_r($row);
//echo $userpower;
//判断改用户是否拥有删除权限
if($row['operation'] & delete)
{
        echo "有浏览添加修改权限";
}
else
{

        echo "没删除权限";
        exit();

}
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值