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;//获取到权限后返回
}

转载于:https://www.cnblogs.com/iron-whale/p/ralasaf.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值