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

权限管理

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

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

使用说明:在每一个模块开始之前调用一下此函数,并且传入权限值(存在权限表里的值)得到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. MySQL 复制表结构

    200 ? "200px" : this.width)!important;} --> 介绍 有时候我们需要原封不动的复制一张表的表结构来生成一张新表,MYSQL提供了两种便 ...

  2. [nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写

     一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识 ...

  3. ajax的post方式和get方式比较,以及需要注意的地方

    说明:测试所用的js框架为kissy,后端语言为php 写在前面 目前我们可以将ajax请求的情形按照不同的类型进行分类,比如页面编码:utf-8 or gbk; ajax 传参方式 post or ...

  4. Android学习第三天-打包常用命令

    在前面<Android学习第一天-adb常用命令>和 <Android学习第二天-android常用命令>两篇博文中,我们重点讲解了adb和android的常用命令,下面我们讲 ...

  5. 跟我一起数据挖掘(22)——spark入门

    Spark简介 Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行,Spark,拥有Hadoop MapReduce所具有的优点:但不同于MapR ...

  6. [ASP.NET MVC 小牛之路]13 - Helper Method

    我们平时编程写一些辅助类的时候习惯用“XxxHelper”来命名.同样,在 MVC 中用于生成 Html 元素的辅助类是 System.Web.Mvc 命名空间下的 HtmlHelper,习惯上我们把 ...

  7. 2013 duilib入门简明教程 -- 事件处理和消息响应 (17)

        界面的显示方面就都讲完啦,下面来介绍下控件的响应.     前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEG ...

  8. Eos开发——ajax请求

    function saveData(){ form.validate(); if(form.isValid()==false) return; var persons = grid.getChange ...

  9. 浏览器执行js代码的机制--对于我们深入了解js有很大的帮助,同时面试时候也都能用得到。

    前端小菜又来了,这些天每天工作,晚上学习太累了.趁星期天给自己放个假.写完这个博客就要出去high了.鸡冻.接下来进入正题啦, 你可能要问,我们学习这个有什么用啊?这样我先给大家来个小小的面试题. a ...

  10. VMWare vSphere Client 克隆虚拟机 更改IP

    克隆虚拟机后,查看该虚拟机所分配的MAC地址. 打开控制台,进入linux界面. 打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示: # vi ...