zoukankan      html  css  js  c++  java
  • 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;//获取到权限后返回
    }
    
  • 相关阅读:
    Mysql存储过程详解
    自动化测试——人人都可自制“呼死你”
    Apktool(1)——Apktool的安装
    Apktool(2)——使用前必须知道的apk知识
    写博是种心情
    webpack使用tree shaking的问题。及关于UglifyJs不支持ES6的解决方案。
    angular2 笔记
    angular2 content projection
    angular2aotwebpack 生产环境下编译angular2
    ionic2配置问题集
  • 原文地址:https://www.cnblogs.com/iron-whale/p/ralasaf.html
Copyright © 2011-2022 走看看