php 簡單權限管理實現


權限管理介紹、與簡單實現思想

權限管理

此函數為模塊訪問權限管理

實現思路為:根據傳進來的權限值,進入不同的權限獲取區間,然后根據模塊名字判斷是否有這個模塊的訪問權限

使用說明:在每一個模塊開始之前調用一下此函數,並且傳入權限值(存在權限表里的值)得到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;//獲取到權限后返回
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM