[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;
  }

  

原文地址:https://www.cnblogs.com/taoshihan/p/10974483.html