权限管理介绍、与简单实现思想

权限管理

此函数为模块访问权限管理

实现思路为:根据传进来的权限值,进入不同的权限获取区间,然后根据模块名字判断是否有这个模块的访问权限

使用说明:在每一个模块开始之前调用一下此函数,并且传入权限值(存在权限表里的值)得到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;//获取到权限后返回
}

php 简单权限管理实现的更多相关文章

  1. [转]java web简单权限管理设计

    原文地址:http://blog.csdn.net/zwx19921215/article/details/44467099 最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery eas ...

  2. java web简单权限管理设计

    一套最基本的权限管理包括用户.角色.资源. 数据库设计 我的设计如下: 用户:user 角色:role 用户-角色:user_role 资源:resource(包括上级菜单.子菜单.按钮等资源) 角色 ...

  3. java web 简单的权限管理

    spring ,springMvc ,mybatis 简单权限管理 其实只需要3张表..admin_group  ,function,group 表

  4. 微服务迁移记(五):WEB层搭建(4)-简单的权限管理

    一.redis搭建 二.WEB层主要依赖包 三.FeignClient通用接口 以上三项,参考<微服务迁移记(五):WEB层搭建(1)> 四.SpringSecurity集成 参考:< ...

  5. MVC中权限管理

    权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少.权限管理几乎出现在任何系统里面,只要有用户和密码的系统.权限管理还是比较复杂的,有的固定到某个模 ...

  6. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理

    这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...

  7. Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10

    今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求 ...

  8. 用最基本的EF+MVC+JQ+AJAX+bootstrap实现权限管理的简单实例 之登陆和操作权限

    先来一堆关于上篇文章的废话(不喜者点此隐藏) 今天把博客加了个小功能,就是点标题可以隐藏或展示相关内容,做法很傻,就是引用了bootstrap的两个css类和全部的js文件,其实这样的小功能完全应该自 ...

  9. ci中简单实用的权限管理

    实用的权限管理 对多数网站来说,使用完整的rbac权限管理杀鸡用牛刀绝对的吃力不讨好,因为我们只是简单分角色然后对角色进行管理行使其相对于的角色赋予的权限; 在实际的开发中用位运算来对权限进行验证是十 ...

随机推荐

  1. min.js反压缩

    给个网址自己体会.. http://jsbeautifier.org/ 当需要修改min.js中的代码时,把min.js文件ctrl+c   ctrl+v扔到上面的网页里,点击beautify 即可

  2. linux内核分析作业5:分析system_call中断处理过程

    1.增加 Menu 内核命令行 调试系统调用. 步骤:删除menu git clone        (tab) make rootfs 这就是我们将 fork 函数写入 Menu 系统内核后的效果, ...

  3. android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)

    第三节:常用控件 一.Button 需要掌握的属性: 1.可切换的背景 2.9.png使用 3.按钮点击事件 1)  onClick 3) 匿名类 4) 公共类 二.TextView 常用属性 1.a ...

  4. [Unity3D]自己动手重制坦克舰队ArmadaTank(2)从碰撞说起

    [Unity3D]自己动手重制坦克舰队ArmadaTank(2)从碰撞说起 在上一篇里我给出了重制的坦克舰队效果图和试玩程序.本篇介绍一下玩家坦克和敌方坦克碰撞问题. +BIT祝威+悄悄在此留下版了个 ...

  5. 在浏览器的背后(二) —— HTML语言的语法解析

    当你看到这篇文章意味着我辜负了@教主的殷切期望周末木有去约会,以及苏老师@我思故我在北京鼓楼的落井下石成功了…… 本文demo powered by 已经结婚的@老赵的不再维护的wind.js 物是人 ...

  6. A Beginner's Guide to Paxos

    Google Drive: A Beginner's Guide to Paxos The code ideas of Paxos protocol: 1) Optimistic concurrenc ...

  7. json、javaBean、xml互转的几种工具介绍

    json.javaBean.xml互转的几种工具介绍 转载至:http://blog.csdn.net/sdyy321/article/details/7024236 工作中经常要用到Json.Jav ...

  8. Nhibernate 4.0 教程入门

    Nhibernate 4.0 教程 目录 1.      下载Nhibernate 4.04. 1 2.      入门教程... 2 3.      测试项目详解... 3 4.      总结.. ...

  9. Java易混淆的概率:成员变量、类变量、实例变量、局部变量

    先看代码 public class Variable{ int b=0; //实例变量 static int a=0; //类变量 final String c="wws"; // ...

  10. Spill data to tempdb

    查看Execution Plan时,在Sort Operator上,发现一个Warning:Operator used tempdb to spill data during execution wi ...