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

原创
2016/01/26 11:13
阅读数 109

权限-》组-》用户
用户属于组,组包括了权限的集合  ,
可以用三个表来表示
权限表 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 收藏
1
分享
返回顶部
顶部