PHP巧妙利用位运算实现网站权限管理的方法

首先我们先定义4个常量来设定四种权限:

增加数据库记录的权限 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 这个值和加法的结果还是一样的

发现奥秘没有?

知道了这两点权限的处理就变得简单了吧,只要在每次执行涉及权限操作的时候把用户当前的权限总值和当前操作需要的权限做位与运算。如果结果为真执行,为假做报错处理就行啦(当然也不一定时报错,你可以自己设计没有权限时的程序)。

以上这篇PHP巧妙利用位运算实现网站权限管理的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...