PHP巧妙利用位运算实现网站权限管理的方法
首先我们先定义4个常量来设定四种权限:
=====================================
define(ADD,1);//增加数据库记录的权限
define(UPD,2);//修改数据库记录的权限
define(SEL,4);//查找数据库记录的权限
define(DEL,8);//删除数据库记录的权限
=====================================
接下来假设有3个用户:
A用户拥有ADD-UPD-SEL-DEL四个权限,用位或运算计算A的权限总值
$a_all=ADD|UPD|SEL|DEL;//$all=15 可以注意到这个值和加法的结果是一样的
B用户拥有ADD-UPD-SEL三个权限,用位或运算计算B的权限总值
$b_all=ADD|UPD|SEL;//$all=7 这个值和加法的结果又是一样的
C用户拥有ADD-UPD两个权限,用位或运算计算C的权限总值
$c_all=ADD|UPD;//$all=3 这个值和加法的结果还是一样的
=====================================
接下来我们用位与做运算
$a_all&ADD 结果为真
$a_all&UPD 结果为真
$a_all&SEL 结果为真
$a_all&DEL 结果为真
=====================================
$b_all&ADD 结果为真
$b_all&UPD 结果为真
$b_all&SEL 结果为真
$b_all&DEL 结果为假
=====================================
$c_all&ADD 结果为真
$c_all&UPD 结果为真
$c_all&SEL 结果为假
$c_all&DEL 结果为假
=====================================
发现奥秘没有?
1、当权限总值和没有的那个权限做位与运算,结果为假
2、权限的值都是2的次方
知道了这两点权限的处理就变得简单了吧,只要在每次执行涉及权限操作的时候把用户当前的权限总值和当前操作需要的权限做位与运算。如果结果为真执行,为假做报错处理就行啦(当然也不一定时报错,你可以自己设计没有权限时的程序)。
(资源库 www.zyku.net)
您可能感兴趣的文章
- 10-12PHP页面编码问题解决方法
- 01-12六颜笔记-六颜笔记应用软件功能介绍
- 04-13红魔6开启高刷新率方法
- 01-11金立遥控-金立遥控应用软件功能介绍
- 06-13CSS清除浮动的三种方法
- 03-03小爱同学连接wifi教程
- 09-28微信五星红旗头像生成方法分享
- 12-28小米手机桌面云备份怎么删除
- 10-23真我q3s如何启用定时开关机
- 08-15VisualStudio取消代码自动格式化步骤
- 02-19WordPress导航菜单添加分页导航功能的
- 05-16DeDeCms调用任意栏目名称的方法
- 02-17帝国CMS-管理员密码重置插件下载
- 11-18哈啰单车怎么预约用车
- 12-30愉悦垃圾分类-愉悦垃圾分类应用软件功
- 12-28橙子工单-橙子工单应用软件功能介绍
- 02-10python实现电脑操控安卓手机
- 01-12喵喵手账-喵喵手账应用软件功能介绍
- 01-13织梦Dedecms获取缩略图片原图地址的方
- 02-28vivo手机开启软件权限管理教程
最近更新
阅读排行
猜你喜欢
- 09-19苹果二代笔怎样配对ipad
- 03-02小米11ultra更新系统教程
- 01-12Sparkly Cam-Sparkly Cam应用软件功能
- 12-28辅导作业大师-辅导作业大师应用软件功
- 02-11如何利用pygame实现打飞机小游戏
- 04-28opporeno5快速返回使用方法
- 10-14苹果手机运营商选项在哪
- 12-31华为怎么关闭HD图标
- 12-29恒泰智能-恒泰智能应用软件功能介绍
- 02-10opporeno4se图标放大设置教程