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;//获取到权限后返回
}
php 简单权限管理实现的更多相关文章
- [转]java web简单权限管理设计
原文地址:http://blog.csdn.net/zwx19921215/article/details/44467099 最近在做一个网站类型项目,主要负责后台,ui框架选型为jquery eas ...
- java web简单权限管理设计
一套最基本的权限管理包括用户.角色.资源. 数据库设计 我的设计如下: 用户:user 角色:role 用户-角色:user_role 资源:resource(包括上级菜单.子菜单.按钮等资源) 角色 ...
- java web 简单的权限管理
spring ,springMvc ,mybatis 简单权限管理 其实只需要3张表..admin_group ,function,group 表
- 微服务迁移记(五):WEB层搭建(4)-简单的权限管理
一.redis搭建 二.WEB层主要依赖包 三.FeignClient通用接口 以上三项,参考<微服务迁移记(五):WEB层搭建(1)> 四.SpringSecurity集成 参考:< ...
- MVC中权限管理
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少.权限管理几乎出现在任何系统里面,只要有用户和密码的系统.权限管理还是比较复杂的,有的固定到某个模 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理
这是本人第一次写,写的不好的地方还忘包含.写这个的主要原因是想通过这个来学习下EF的CodeFirst模式,本来也想用AngularJs来玩玩的,但是自己只会普通的绑定,对指令这些不是很熟悉,所以就基 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10
今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求 ...
- 用最基本的EF+MVC+JQ+AJAX+bootstrap实现权限管理的简单实例 之登陆和操作权限
先来一堆关于上篇文章的废话(不喜者点此隐藏) 今天把博客加了个小功能,就是点标题可以隐藏或展示相关内容,做法很傻,就是引用了bootstrap的两个css类和全部的js文件,其实这样的小功能完全应该自 ...
- ci中简单实用的权限管理
实用的权限管理 对多数网站来说,使用完整的rbac权限管理杀鸡用牛刀绝对的吃力不讨好,因为我们只是简单分角色然后对角色进行管理行使其相对于的角色赋予的权限; 在实际的开发中用位运算来对权限进行验证是十 ...
随机推荐
- java学习之面向对象(2)
在描述事物的时候,该事物已存在就具备的一些内容,这是我们就可以把它们都定义在构造函数中,那么什么是构造函数呢? 构造函数就是构建创造对象时调用的函数,它可以给对象进行初始化.构造函数与类名相同,第一个 ...
- 有了lisk,为什么我们还要做一个Asch?
0 前言 首先要声明一点,我们和我们的一些朋友都是lisk的投资人和支持者,我们也相信lisk会成功. 事实上,lisk已经成功了一半,目前在区块链领域融资金额排行第二,仅次于以太坊. 那为什么我们还 ...
- ORM数据层框架的设计热点:更新指定的列的几种设计方案
ORM框架的定义:对象-关系映射(Object/Relation Mapping,简称ORM) 常见的是:数据库结构=>映射Object(实体属性)=>基于实体类的操作. 还有一种:数据库 ...
- ASP.Net WebForm温故知新学习笔记:二、ViewState与UpdatePanel探秘
开篇:经历了上一篇<aspx与服务器控件探秘>后,我们了解了aspx和服务器控件背后的故事.这篇我们开始走进WebForm状态保持的一大法宝—ViewState,对其刨根究底一下.然后,再 ...
- Sql Server数据库备份和恢复:原理篇
本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...
- Windows Azure Storage (23) 计算Azure VHD实际使用容量
<Windows Azure Platform 系列文章目录> 对于A系列和D系列的虚拟机来说,使用的是普通存储. 普通存储的存储资源,是按照每GB每月计费的.Microsoft Azur ...
- 京东招聘Java开发人员
软件开发工程师(JAVA) 岗位职责: 1. 负责京东核心业务系统的需求分析.设计.开发工作 2. 负责相关技术文档编写工作 3. 解决系统中的关键问题和技术难题 任职要求: 1. 踏实诚恳.责任心强 ...
- MA均线组合
MA5.MA13.MA21.MA34.MA55.MA90.MA120.MA250
- Hibernate增删查改语句
我用的数据库是MySQL,实体类叫Product create table Product ( proId integer not null auto_increment, proName varch ...
- iOS-----正则表达式
摘要: 正则表达式在字符串检验和查找中用处很广,IOS中也有其支持的类. 正则表达式在iOS开发中的应用 正则表达式在字符串查找,替换,检测中的应用非常广泛,正则表达式是什么,有怎样的语法,可以参考我 ...