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

权限管理

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

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

使用说明:在每一个模块开始之前调用一下此函数,并且传入权限值(存在权限表里的值)得到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. C#_技巧:计算代码块运行的时间

    System.Diagnostics下类Stopwatch,给程序代码块运行计时, 利用start()和stop()方法来标记代码快. 该命名空间下还有一些其他类,可以对程序进行诊断(diagnosi ...

  2. 剑指Offer面试题:32.数字在排序数组中出现的次数

    一.题目:数字在排序数组中出现的次数 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4. 二.解题思路 2 ...

  3. C#中自己动手创建一个Web Server(非Socket实现)

    目录 介绍 Web Server在Web架构系统中的作用 Web Server与Web网站程序的交互 HTTPListener与Socket两种方式的差异 附带Demo源码概述 Demo效果截图 总结 ...

  4. 编译Android AOSP代码

    下载完了源代码,终于到了编译的阶段了.这个阶段远比你想象的简单,一个make命令就可以完成源代码的编译了.参照下面的教程你就可以编译出适用于Android源代码树上的所有分支,包括master.基本的 ...

  5. WPF+通过配置文件生成菜单(Menu)+源码

    这个月做项目,遇到过一个通过配置文件来生成菜单的解决方案,感觉挺优雅的,特地放到博客园来,以飨读者. 说来惭愧,以前做的项目都没有这样用过,都是固定死了.如果后续有需要加入菜单,还得在重新修改UI,然 ...

  6. WCF basicHttpBinding之Transport Security Mode, clientCredentialType="None"

    原创地址:http://www.cnblogs.com/jfzhu/p/4071342.html 转载请注明出处 前面文章介绍了<WCF basicHttpBinding之Message Sec ...

  7. 将nuget与VS直接集成,实现一键上传等功能

    nuget是一个非常方便的包管理工具,很多团队为了开发的方便也建立了自己的包源网站(nuget.server),本篇文章是笔者在配置nuget上面的一点小体,其最终目标是要达到能够在VS里一键打包上传 ...

  8. xamarin UWP证书问题汇总

    打算开发一个软件使用rsa加密的东西,所以有用到数字证书这块,最近遇到些问题, 问题一:使用如下代码添加数字证书后,在证书管理器的当前用户和本地计算机下都找不到这张证书. using (X509Sto ...

  9. Sql Server系列:自定义函数

    用户自定义函数可以像系统函数一样在查询或存储过程中调用,可以接受参数.执行操作并将操作结果以值的形式返回.返回值可以是单个标量或结果集. 1. 标量函数 标量函数返回一个确定类型的标量值,对于多语句的 ...

  10. LINQ系列:LINQ to SQL Concat/Union

    1. Concat 单列Concat var expr = (from p in context.Products select p.ProductName) .Concat( from c in c ...