权限管理介绍、与简单实现思想
权限管理
此函数为模块访问权限管理
实现思路为:根据传进来的权限值,进入不同的权限获取区间,然后根据模块名字判断是否有这个模块的访问权限
使用说明:在每一个模块开始之前调用一下此函数,并且传入权限值(存在权限表里的值)得到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;//获取到权限后返回
}