[PHP] 最简单的权限控制设计
假设url部分我们只有action和method , 某个控制器下的某个方法 , 比如:log/loginlog 查看日志下的登陆日志, action就是log , method就是loginlog
1.设置一个菜单数组
$menuMap = array(
'entmanager' => array(
'name' => '企业管理',
'submenu' => array(
'entlist' => array('企业列表')
),
'log' =>array(
'name' => '日志管理',
'submenu' => array(
'loginlog' => array('登陆日志')
)
)
2.设置一个角色数组
$userRole = array(
1 => "超级管理员",
2 => "普通管理员",
3 => "客服操作员",
);
3.角色对应的权限数组
$permission=array(
'1'=>array(
'entmanager'=>array('entlist'),
'log'=>array('loginlog')
),
'2'=>array(
'log'=>array('loginlog')
),
'3'=>array(
'entmanager'=>array('entlist')
),
)
4.判断权限的时候
if (array_key_exists($action, $permission) && in_array($method, $permission[$action])) {
return true;
}else{
return false;
}
[PHP] 最简单的权限控制设计的更多相关文章
- Web应用程序系统的多用户权限控制设计及实现-总结【11】
Web应用程序系统的多用户权限控制设计及实现通过10章内容讲述已经结尾了.写这些博客的目的很简单,方便自己以后参考,也留下自己编程岁月的一些痕迹.对于编程,对于工作,真是心甘情愿的就好. 由于这只是一 ...
- WPF应用中一种比较完美的权限控制设计方式
如题近段时间 需要在wpf应用中设计一个权限控制 , 简而言之的说 你懂的 对于IT人员来说都知道的 常见的软件功能 首先要有用户 用户,然后用户属于哪个角色 ,然后各个角色都有自己的可供操作的一堆功 ...
- Web应用程序系统的多用户权限控制设计及实现-权限模块【10】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的权限配置模块.页面模块涉及到的数据表为权限表.权限配置模块是按照用户组和页面,栏目结合组成的.通过配置一个用 ...
- Web应用程序系统的多用户权限控制设计及实现-页面模块【9】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-页面模块.页面模块涉及到的数据表为页面表. 1.1页面域 为了更规范和方便后期系统的二次开发和维护 ...
- Web应用程序系统的多用户权限控制设计及实现-栏目模块【8】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-栏目模块.栏目模块涉及到的数据表为目录表. 1.1栏目域 为了更规范和方便后期系统的二次开发和维护 ...
- Web应用程序系统的多用户权限控制设计及实现-用户模块【7】
前五章均是从整体上讲述了Web应用程序的多用户权限控制实现流程,本章讲述Web权限管理系统的基本模块-用户模块.用户模块涉及到的数据表为用户表. 1.1用户域 为了更规范和方便后期系统的二次开发和维护 ...
- elasticsearch使用jetty进行简单的权限控制
默认elasticsearch是使用netty作为http的容器,由于netty并没有权限模块,所以默认es没有任何的权限控制,直接通过http就可以进行任何操作,除非把http禁用.但如果你使用el ...
- **CodeIgniter通过hook的方式实现简单的权限控制
根据自己的实际情况,需要两个文件,一个是权限控制类,Acl,另外一个是权限配置的文件acl.php放在了config这个目录下. Acl这个类放在了application/hook/acl.php.通 ...
- JavaWeb项目:Shiro实现简单的权限控制(整合SSM)
该demo整合Shiro的相关配置参考开涛的博客 数据库表格相关设计 表格设计得比较简单,导航栏直接由角色表auth_role的角色描述vRoleDesc(父结点)和角色相关权限中的权限描述(标记为 ...
随机推荐
- 安装QTP之后造成环境变量java冲突问题的解决方案
参考:http://www.cnblogs.com/yhcreak/p/6340125.html
- git使用遇到问题1
1.上传代码过程中遇到 git help gc错误解决方法,有两种方式,推荐第一种方式. $ git fsck $ git gc --prune=now 如果执行完上面的命令还是不行的话,可以尝试删掉 ...
- vue2.x 监听数据变化 ---- watch
computed: { //需要监听的数据 loginToken () { return this.$store.state.userinfo.status; } }, watch: { loginT ...
- Windows开机自动登录账户
如何在Windows设了账户密码的情况下开机自动登录账户,有以下两种方法. 通过Windows设置自动登录 按“Win+R”组合键打开“运行”框内输入“netplwiz”. 打开以下窗口,将“要使用本 ...
- vue使用--saas的引入与使用
什么是saas.scss? saas是一种动态样式语言,属于CSS预处理器,为CSS增加了一些编程特性,比如变量.嵌套.函数.继承.运算等等.开发人员可以像使用js等语言一样使用saas进行css的 ...
- Spark学习笔记01-基础
目录 简介 特性 Spark运行模式 Mac本地安装 本文基于 Spark 2.4.1 进行演示,相关代码可以在我的Github上看到. 简介 Spark是一个分布式集群计算系统,类似Hadoop提供 ...
- es6中reduce()方法和reduceRight()方法
es6中reduce()方法从左往右开始 参数:prev:它是上一次调用回调时返回的结果,每次调用的结果都会给prev cur:当前的元素 index:当前的索引 arr:循环的数组 返回值:函数累计 ...
- 混合 App 打开 H5 调试开关
背景 随着现在移动端设备的硬件性能的提高,现在web页面的体验逐渐变得可以接受,现在很多的应用都采用的Hybrid开发模式,一方面有利用了原生设备的API的优势(性能好.用户体验好),另一方面利用了w ...
- python生成多维数组方法总结(多维创建有问题的情况)
1.一维 list1=[]* #[,,,,] list2=np.arange() #[,,,,] 2.二维(注意) list2=[[]*]* 这种创建是有问题的!! print(list2)list2 ...
- 云原生时代, Kubernetes 多集群架构初探
为什么我们需要多集群? 近年来,多集群架构已经成为“老生常谈”.我们喜欢高可用,喜欢异地多可用区,而多集群架构天生就具备了这样的能力.另一方面我们也希望通过多集群混合云来降低成本,利用到不同集群各自的 ...