专栏首页陶士涵的菜地[PHP] 最简单的权限控制设计

[PHP] 最简单的权限控制设计

假设url部分我们只有action和method , 某个控制器下的某个方法 , 比如:log/loginlog 查看日志下的登陆日志, action就是log , method就是loginlog

1.设置一个菜单数组

$menuMap = array(
	'entmanager' => array(
        'name' => '企业管理',
        'submenu' => array(
            'entlist' => array('企业列表')
    ),
    'log' =>array(
    	'name' => '日志管理',
        'submenu' => array(
            'loginlog' => array('登陆日志')
    )
)

2.设置一个角色数组

$userRole = array(
    1 => "超级管理员",
    2 => "普通管理员",
    3 => "客服操作员",
);

3.角色对应的权限数组

$permission=array(
    '1'=>array(
        'entmanager'=>array('entlist'),
        'log'=>array('loginlog')
    ),
    '2'=>array(
        'log'=>array('loginlog')
    ),
    '3'=>array(
        'entmanager'=>array('entlist')
    ),
)

4.判断权限的时候

if (array_key_exists($action, $permission) && in_array($method, $permission[$action])) {
        return true;
  }else{
          return false;
  }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [PHP] 排序和查找算法

    冒泡排序的原理可以顾名思义:把每个数据看成一个气泡,按初始顺序自底向上依次对两两气泡进行比较,对上重下轻的气泡交换顺序(这里用气泡轻、重表示数据大、小),保证轻...

    陶士涵
  • [PHP]算法-队列结构的PHP实现

    陶士涵
  • [PHP] 算法-构建排除当前元素的乘积数组的PHP实现

    构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-...

    陶士涵
  • python list定义并初始化长度

    使用Python的人都知道range()函数很方便,今天再用到它的时候发现了很多以前看到过但是忘记的细节。这里记录一下range(),复习下list的slid...

    py3study
  • 数据结构与算法-反转排序

    cwl_java
  • 浅谈PHP array_search 和 in_array 函数效率问题

    在一个接口中,发现非常耗时,排查原因发现 array_search 查找数组中的元素的 key 时,效率随着数组变大,耗时增加。特别是大数组时,非常耗时。在函数...

    砸漏
  • PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结

    本文实例总结了PHP实现二维数组(或多维数组)转换成一维数组的常见方法。分享给大家供大家参考,具体如下:

    砸漏
  • python--几种快速排序的实现以及运行时间比较

    快速排序的基本思想:首先选定一个数组中的一个初始值,将数组中比该值小的放在左边,比该值大的放在右边,然后分别对左边的数组进行如上的操作,对右边的数组进行如上的操...

    绝命生
  • 3分钟短文 | PHP数组获取最后一个元素,10个方式中哪个有错?

    我们对于 PHP 的数组操作乐此不疲,为什么?因为 PHP 编程你几乎时时刻刻都在于数组打交道,对于数组的操作熟练程度,很大一部分因素关系着代码的优劣。

    程序员小助手
  • php去重后重新排键值

    因为我们已经移除了一些元素,因此数组看起来不是正常的序列。比如我们可能会得到:array(0=>’A’,2=>’B’,5=>’C’);。在某些情况下,这不是一个...

    梦_之_旅

扫码关注云+社区

领取腾讯云代金券