class s_allow{

//声明使用场景,任务清单

public $scene,$case_list=array();

//声明指定用户角色、允许值、允许清单

public $allow_value=0,$allow_list=array();

//初始化场景、角色

function __construct($scene,$allow_value=0){

$this->scene=$scene;

$this->case_list=$this->case_list(true);

if ($allow_value) {

$this->allow_value=$allow_value;

$this->allow_list=$this->allow_list($allow_value,true);

}

}

//取得全部任务清单

function case_list($mode=false){

$case_list=config($this->scene,'allow');

return $mode ? $case_list : array_keys($case_list);

}

//取得用户任务清单

function allow_list($allow_value=0,$mode=false){

$buffer=array();

foreach ($this->case_list as $key=>$value) {

if ($allow_value & pow(2,$key-1)) {

$buffer[$key]=$value;

}

}

return $mode ? $buffer : array_keys($buffer);

}

//计算允许值

function allow_value($allow_list=null){

if ($allow_list==null) $allow_list=$this->allow_list;

array_walk($allow_list, function($value,$key) use(&$allow_list){

$allow_list[$key]=pow(2,$value-1);

});

return array_sum($allow_list);

}

//判断是否允许

function is_allow($case){

$case_list=array_flip($this->case_list);

return (bool)($this->allow_value & pow(2,$case_list[$case]-1));

}

}

php权限二进制,PHP_二进制交叉权限微型php类分享,靓点:1、多对多交叉场景分配 - phpStudy...相关推荐

  1. linux root权限_深入了解 Linux 权限

    (给Linux爱好者加星标,提升Linux技能) 编译:linux中国-lujun9972,作者:Sandra Henry-Stocker https://linux.cn/article-10947 ...

  2. linux权限管理详解,linux权限管理详解-Go语言中文社区

    普通权限 -rw-r–r--. 1 root root 0 Feb 14 23:33 test 第1位标识文件类型: -:普通文件 b:块设备 c:字符设备 d:目录 l:符号链接 s:套接字文件 p ...

  3. 不是Linux文件系统的权限,Linux中文件系统的权限管理(普通权限,特殊权限,文件的扩展属性,FACL)...

    文件系统的权限管理(DAC体系:自主访问控制体系): 普通权限 特殊权限 文件的扩展属性 FACL(文件系统访问控制列表) 安全上下文: 任何在计算机中执行的任务都是由进程来实现的,所以进程就有必要访 ...

  4. linux文件的特殊权限,Linux系统文件的默认权限和特殊权限

    默认权限 umask [root@CentOS7 data]# touch file1 ; ll file1 -rw-r--r--. 1 root root 0 Oct 9 13:55 file1 [ ...

  5. Linux 权限管理: 权限的概念、权限管理、文件访问权限的设置、 粘滞位

    Linux下的基本指令 目录: 权限的概念 权限管理 文件访问权限的设置方法 目录的权限 粘滞位 权限的概念 Linux下用户有两种: 超级用户(root).普通用户. 超级用户:具有最高权限,可以在 ...

  6. linux权限案例,Linux下的权限体系

    Linux 下的权限是一个很常用也很有用的东西, 细分开来是分为文件权限和访问控制.文件权限就是表示文件所属用户.用户所在组.其它用户的读写和执行权限:访问控制列表又称为 ACL,主要目的是提供传统的 ...

  7. vue实现页面权限显示_Vue 实现前端权限控制

    登录&&权限流程图 前言 首先我们确定的权限控制分为三大部分,其中根据粒度大小分的更细: 登录权限控制 页面权限控制 菜单中的页面是否可以被访问 页面中的按钮 (增.删.改.查)的权限 ...

  8. VB 进制转换大全(十进制、十六进制、八进制、二进制、二进制流)互转

    模块包含了下面的各种转换: 二进制转十进制 二进制转化为八进制 二进制转化为十六进制 八进制转化为十进制 八进制转化为二进制 八进制转化为十六进制 十进制转二进制 十进制转化为八进制 十进制转化为十六 ...

  9. linux 查看用户权限组,linux用户组及权限

    我们要想访问到系统资源,就需要以某个user身份登录进系统,这个user身份在系统中具有唯一标识符(UID),在访问某个文件资源的时候,会首先检测这个用户是否具有访问的权限,然后再检测这个文件是否对这 ...

最新文章

  1. linux图形图像三剑客,就linux三剑客简单归纳
  2. IP地址配置冲突导致路由振荡怎么办
  3. Timus 1049 Brave Balloonists
  4. 免费注册丨全国社会媒体处理大会(SMP 2020)召开,98场报告日程全公开
  5. AbstractEndpoint 和 ProtocolHandler
  6. 天猫HTML练手项目,GitHub - txz1220/tianmao: 一个模仿天猫网页的项目
  7. OpenShift 4 - DevSecOps Workshop (11) - 通过Trigger启动Pipeline运行
  8. 【前端规划】来看看我整理的这一份专属技术知识图谱吧~
  9. 二分图的最佳匹配(KM 算法)
  10. android 6.0 ndk版本,[推荐]android-ndk6.0翻译(1)
  11. 关于老黄的DW2XLS一些小bug
  12. php js轮播图片代码,javascript实现焦点图轮播效果代码示例
  13. PHP 仍然是最流行的服务器端编程语言
  14. win 2016 ssh_【Win】Print Conductor 全能批量打印工具兼容所有打印机
  15. VCS+Verdi脚本化仿真Vivado工程流程
  16. 深入理解CSS:font metrics, line-height 以及 vertical-align
  17. 安装 CherryTree 报错无法找到 gtksourceview2
  18. word和PPT去掉图片白色背景
  19. Eclipse提示找不到HttpServlet类
  20. GoLang 编译exe添加ICO图标

热门文章

  1. 深度学习核心技术精讲100篇(五十二)-用户画像系统构建全思路解析
  2. 竞品分析实战系列之如何对电商产品条目进行合理设计?
  3. MATLAB 内存容量修改
  4. 数据库性能调优之后,进一步的验证和分析
  5. QT关于资源文件的添加使用
  6. 一图理解JavaWeb项目
  7. 99% 的人都能看懂的「补偿」以及最佳实践
  8. 电商后台:实例解读订单系统
  9. 数据挖掘导论读书笔记2
  10. Spring Security Architecture--官方