權限管理介紹、與簡單實現思想
權限管理
此函數為模塊訪問權限管理
實現思路為:根據傳進來的權限值,進入不同的權限獲取區間,然后根據模塊名字判斷是否有這個模塊的訪問權限
使用說明:在每一個模塊開始之前調用一下此函數,並且傳入權限值(存在權限表里的值)得到true后,則進入模塊,否則推出並提示
public function jurisdictionMoudular($userJurGrade, $accessContent){
//$userJurGrade:獲取權限等級,$accessContent:模塊的名字
switch($userJurGrade){
case 1 ://超級管理員
if(
$accessContent == '所有訂單'
||$accessContent == '結算管理'
||$accessContent == '退款管理'
||$accessContent == '檔口數據'
||$accessContent == '餐廳數據'
||$accessContent == '區域管理'
||$accessContent == '校區管理'
||$accessContent == '人員審核'
||$accessContent == '分撥員端'
||$accessContent == '出單員端'
||$accessContent == '樓長端'
){
return ture;//如果有訪問權限則放回true
}
break;
case 2 : //區域經理
if(
$accessContent == '所有訂單'
||$accessContent == '結算管理'
||$accessContent == '退款管理'
||$accessContent == '檔口數據'
||$accessContent == '餐廳數據'
||$accessContent == '校區管理'
||$accessContent == '人員審核'
||$accessContent == '分撥員端'
||$accessContent == '出單員端'
||$accessContent == '樓長端'
){
return ture;//如果有訪問權限則放回true
}
break;
case 3 : //校園經理
if( $accessContent == '所有訂單'
||$accessContent == '退款管理'
||$accessContent == '分撥員端'
||$accessContent == '出單員端'
||$accessContent == '樓長端'
){
return ture;//如果有訪問權限則放回true
}
break;
case 4 : //餐廳經理
if(
$accessContent == '所有訂單'
){
return ture;//如果有訪問權限則放回true
}
break;
case 5 : //檔口經理
if(
$accessContent == '所有訂單'
){
return ture;//如果有訪問權限則放回true
}
break;
}
return false;//沒有訪問權限則返回false
}
權限管理
此函數為區域訪問權限管理,主要用於查表的時候的 字段分組查詢
實現思路為:根據傳進來的權限值,進入不同的權限獲取區間,然后把沒有權限的值直接從數據庫獲取固定的值,並填充,且* 代表全部權限、 null代表沒有權限訪問 默認為null
使用說明:在查詢表的具體信息的時候,調用本函數,返回的值為 如何進行分組查詢,*代表此字段不進行分組查詢,null 則不查詢
public function jurisdictionRegion($userJurGrade){
//$userJurGrade 獲取權限等級
//* 代表全部權限、 null代表沒有權限訪問 默認為null
$result = [
'city'=>'null',
'school'=>'null',
'school_ext'=>'null',
'restaurant'=>'null',
'stalls'=>'null'
];
switch($userJurGrade){
case 1 ://超級管理員
$result = [
'city'=>'*',
'school'=>'*',
'school_ext'=>'*',
'restaurant'=>'*',
'stalls'=>'*'
];
break;
case 2 : //區域經理
省略獲取具體 城市 代碼
$result = [
'city'=>$city,
'school'=>'*',
'school_ext'=>'*',
'restaurant'=>'*',
'stalls'=>'*'
];
break;
case 3 : //校園經理
省略獲取具體 城市、學校 代碼
$result = [
'city'=>$city,
'school'=>$school,
'school_ext'=>'*',
'restaurant'=>'*',
'stalls'=>'*'
];
break;
case 4 : //餐廳經理
省略獲取具體 城市、學校、學院、餐廳 代碼
$result = [
'city'=>$city,
'school'=>$school,
'school_ext'=>$school_ext,
'restaurant'=>$restaurant,
'stalls'=>'*'
];
break;
case 5 : //檔口經理
省略獲取具體 城市、學校、學院、餐廳、檔口 代碼
$result = [
'city'=>$city,
'school'=>$school,
'school_ext'=>$school_ext,
'restaurant'=>$restaurant,
'stalls'=>$stalls
];
break;
}
return $result;//獲取到權限后返回
}