首页 » 网站建设 » php设置会员权限技巧_会员权限交叉多类型控制的设计思路

php设置会员权限技巧_会员权限交叉多类型控制的设计思路

访客 2024-11-14 0

扫一扫用手机浏览

文章目录 [+]

SNS类型的网站都会给不同用户组的用户设置不同的权限,而且,大型的SNS网站所涉及的权限又有很多。
给出两种设计思路,供大家参考与谈论:

思路一:

php设置会员权限技巧_会员权限交叉多类型控制的设计思路

这是一种自认为比较庸俗的设计,而且不可避免的产生很多冗余以及占用不必要的数据库资源。
但是,仍旧是我早期非常菜的一种利用方法,在平时练习,对权限较少的情形下还是可以接管的。
详细思路是用bool类型‘0’代表不具备当前的权限,‘1’代表具备当前的权限。
将用户表中的用户信息与权限表关联,当数据库中某个用户某个权限的对应值为‘1’表示当前用户具备当前权限,反之,则不具备当前权限。
以此办法来掌握用户的可操作权限。

php设置会员权限技巧_会员权限交叉多类型控制的设计思路
(图片来自网络侵删)

思路二:

思路二采取位运算实现权限掌握,这是一种比较科学的设计办法。
大致思路是用二进制(或十进制)数字表示相应的权限,比如:文章添加权限用二进制‘1’(十进制1)表示;文章编辑权限用二进制‘10’(十进制2)表示;文章删除权限用二进制‘100’(十进制4)表示等等。

在PHP中要判断一个数是否在某些数的范围内可以利用&运算符。
比如:15=1+2+4+8,则15&4、15&8的返回值都为真,而15&16的返回值就为假。
那么,我们可以定义一些常量代表权限,十进制数字演示代码如下:

<?phpdefine(\公众ADD\"大众, 1);define(\"大众DEL\"大众, 2);define(\"大众UPD\公众, 4);define(\公众SEL\公众, 8);echo $all_access=ADD | DEL | UPD | SEL;?>

ADD代表增加权限,DEL代表删除权限;UPD代表更新权限;SEL代表删除权限,则$all_access输出值为15,代表具备全部权限。
若想判断$all_access是否包含ADD权限,只须要用语句$all_access&ADD判断一下,运行可知,判断结果返回值为真,表示$all_access代表的权限集包含ADD权限。

【在数据库中的详细实现】

上述思路作为完成详细数据库设计的根本,数据库演示设计思路解释如下:

设计两个数据库表:用户基本信息表user_admin与用户组表user_group

两个表通过字段gro与name关联,user_group表中的user_shell存储权限和,例如类似上述代码中的$all_access的值。
user_shell可存储十进制数,亦可存储二进制数,末了通过按位与运算判断当前用户是否具备实行某个操作的权限。

相关文章

介绍皮肤设置,如何打造理想肌肤状态

随着科技的发展和人们对美的追求,皮肤设置已成为美容护肤的重要一环。如何根据皮肤类型、肤质、年龄等因素进行合理设置,已成为众多爱美人...

网站建设 2025-01-03 阅读1 评论0

介绍盖章制作,传承文化,彰显权威

自古以来,盖章在我国文化中具有重要的地位。从古代的官印、私印到现代的公章、合同章,盖章已成为一种独特的文化符号,承载着丰富的历史内...

网站建设 2025-01-03 阅读1 评论0

介绍监控破坏,技术手段与法律风险并存

随着科技的飞速发展,监控设备已遍布大街小巷,成为维护社会治安的重要手段。一些不法分子为了逃避法律制裁,开始研究如何破坏监控设备。本...

网站建设 2025-01-03 阅读1 评论0

介绍登录不上之谜,技术故障还是人为疏忽

随着互联网的普及,登录已成为人们日常生活中不可或缺的一部分。在享受便捷的登录不上这一问题也困扰着许多用户。本文将深入剖析登录不上之...

网站建设 2025-01-03 阅读1 评论0

介绍电脑键盘调出方法,让操作更高效

随着科技的发展,电脑已经成为了我们日常生活中不可或缺的工具。而电脑键盘,作为电脑输入设备,更是我们与电脑进行交流的桥梁。你是否知道...

网站建设 2025-01-03 阅读1 评论0

介绍磁力链,高效便捷的文件下载利器

在互联网高速发展的今天,文件下载已成为日常生活中不可或缺的一部分。而磁力链作为一种新型的文件下载方式,凭借其高效、便捷的特点,受到...

网站建设 2025-01-03 阅读1 评论0