[PHP] 最簡單的權限控制設計

假設url部分咱們只有action和method , 某個控制器下的某個方法 , 好比:log/loginlog   查看日誌下的登錄日誌, action就是log , method就是loginlogphp

1.設置一個菜單數組數組

$menuMap = array(
	'entmanager' => array(
        'name' => '企業管理',
        'submenu' => array(
            'entlist' => array('企業列表')
    ),
    'log' =>array(
    	'name' => '日誌管理',
        'submenu' => array(
            'loginlog' => array('登錄日誌')
    )
)

2.設置一個角色數組url

$userRole = array(
    1 => "超級管理員",
    2 => "普通管理員",
    3 => "客服操做員",
);

3.角色對應的權限數組spa

$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;
  }
相關文章
相關標籤/搜索