权限认证php,2016年Linux认证基础知识:php做权限管理
2016年Linux认证基础知识:php做权限管理
在学习Linux认证过程中,每个人会遇到每个人不同的问题,或小或大,那么你知道在Linux下,php怎么做权限管理?下面跟yjbys小编来看看最新的'程序吧!
假设有十进制数字10
获取10的二进制每一位的值:
(10 》 0) & 0x01 //最低位的值
(10》 1)& 0x01 //倒数第二位的值
假设有二进制数101
转10进制
= 0;
|= (1 《 0); //低位是1
|= (1 《 1);//高位是1
//中间位不是1
class Test{
//假设有权限管理系统。共有4种权限
private = array(
"P1",
"P2",
"P3",
"P4",
);
//获取用户权限的int值
public function getPowerInt({
= 0;
foreach(->power as => {
if(in_array(,{
|= (1 《
}
}
return ;
}
//根据int值获取权限列表
function getPowerByInt({
= array();
foreach(->power as => {
= ( 》 & 0x01;
}
return ;
}
}
//假设现在有个用户拥有P1,P4权限
= array('P1','P4');
= new Test();
//查看用户权限的int值
var_dump(->getPowerInt(//输出9
//注意顺序为倒序如果有个用户是0101即只有P1,P3两个权限,即十进制5,
//输出权限列表
var_dump(->getPowerByInt(5));
//输出array(4) {
// ["P1"]=>
// int(1)
// ["P2"]=>
// int(0)
// ["P3"]=>
// int(1)
// ["P4"]=>
// int(0)
// }
//----------------如果权限不够用了,需要新增权限--------
//倒序。新增在高位
//修改
// = array(
// "P1",
// "P2",
// "P3",
// "P4",
// "P5",
// );
// 测试新结果 :老权限不受影响。老用户默认没有新权限
// 所以可以在设计之初认为最低位为最高权限,all.
// var_dump(->getPowerInt(//输出9
// var_dump(->getPowerByInt(5));
//输出array(4) {
// ["P1"]=>
// int(1)
// ["P2"]=>
// int(0)
// ["P3"]=>
// int(1)
// ["P4"]=>
// int(0)
// ["P5"]=>
// int(0)
// }
【2016年Linux认证基础知识:php做权限管理】相关文章:
权限认证php,2016年Linux认证基础知识:php做权限管理相关推荐
- 2016年linux认证考试,2016年Linux认证考试模拟练习及答案
2016年Linux认证考试模拟练习及答案 下面哪个命令能去掉主引导信息里的内容(选择最合适的答案) a.fdisk /mbr b.format /mbr c.mbr/format d.mbr/rep ...
- 2016年linux认证考试,2016年Linux认证考试复习要点辅导
2016年Linux认证考试复习要点辅导 renice 功能说明:调整优先权. 语 法:renice [优先等级][-g ...][-p ...][-u ...] 补充说明:renice指令可重新调整 ...
- linux 以下命令对中正确的是什么,2016年Linux认证模拟真题及答案
2016年Linux认证模拟真题及答案 一.选择题. 1.以下命令对中,正确的是: B . A ls和sl B cat和tac C more和erom D exit和tixe cat是显示文件夹的命令 ...
- linux服务器配置试卷,2016年Linux认证模拟练习题及答案
2016年Linux认证模拟练习题及答案 1.设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,m ...
- 2016年linux认证,2016年Linux认证考试要点
2016年Linux认证考试要点 Internet上最热门的服务之一就是WWW(World Wide Web)服务,Web服务已经成为很多人在网上查找.浏览信息的主要手段,它是一种交互式图形界面的服务 ...
- 2016年linux认证,2016年Linux认证考试练习题及答案
2016年Linux认证考试练习题及答案 一.单选题 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/ ...
- linux创建用户到指定分区,2016年Linux认证考试试题及答案
2016年Linux认证考试试题及答案 一.选择题 1.在创建Linux分区时,一定要创建( D )两个分区 A. FAT/NTFS B. FAT/SWAP C. NTFS/SWAP D.SWAP/根 ...
- linux基础知识_压缩—进程管理-网络管理-ftp-nfs-ssh-scp
linux基础知识_压缩-进程管理-网络管理-ftp-nfs-ssh-scp 1.压缩包管理 gzip .gz格式的压缩包,不打包,分别压缩,原文件消失 bzip2 .bz2格式的压缩包,原文件不会消 ...
- Linux系统基础知识
Linux系统基础知识 1.在Linux系统中,以文件方式访问设备. 2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...
最新文章
- 计算机书籍-C++并发编程实战
- 茶觉 | “治愈”的白牡丹
- 【转】Linux定时任务系统Cron入门
- 0经验跨行,我怎么拿到谷歌offer的?
- ArrayUtils的简单学习
- 涉及CDI和JSF的过期对话的定制错误页面
- Spring Cloud 参考文档(Spring Cloud Context:应用程序上下文服务)
- flask框架(四):通过局域网访问网站
- Python爬虫的智能化解析——Diffbot
- 12,mac phpstorm xdebug
- 精通SQL的30张简图
- 眼睛却可以睁开,口干胸闷,不论自己…
- Java爬虫彼岸桌面壁纸(使用httpClient+Jsoup)
- HTML层级设置,HTML----元素层级
- vscode 格式化后函数后空格被删
- 天池竞赛 | 中医药领域的问题生成冠军方案
- 项目部署到SVN上以及SVN修改项目名称详细步骤
- shell编程之iptables
- 新浪财经沪深300指数期权和商品期权行情接口
- ibm服务器 t系列,IBMT