上篇记录了一下权限控制部分的实现过程,以及实现的代码。但那些只是实现了简单的权限控制,具体的后台当然要有用户的管理,用户组的管理,规则管理等。这篇主要是写后台部分,和上篇凑成一个完整的环。

第一篇文章传送门:tp3.2.3权限控制详解一

一、用户管理,以及权限管理部分

1、管理员管理

这部分是比较简单的,需要注意的是,添加管理员的时候,要添加对应的分组信息。

2、权限管理

这部分是对应权限组的列表信息。在添加管理员的时候,要同时往auth_group_access表中加上管理员对应的权限组。可以考虑使用数据库的事务。

3、添加和修改权限组对应的权限

在新增权限组的时候,我们需要选择赋予的权限。这里是把所有控制器对应的方法都给列出来,超级管理员可以选择赋予普通管理员权限。

这里需要注意,超级管理员是权限最大的,不要限制超级管理员。

二、左边的菜单显示方式

就像之前说的,我们需要根据用户对应的权限来显示菜单栏目。如果用户没有对应的权限,我们就不显示该栏目。

1、线查询用户对应的所有规则id,也就是控制器方法的id

function getRules($adminId)
{$ruleArr = M('smj_admin')->where('id='."'$adminId'")->find();$type = $ruleArr['type'];$ruleStr1 = M('smj_auth_group')->where('id='."'$type'")->find();$ruleStr = $ruleStr1['rules'];//var_dump($ruleStr);$ruleArr = explode(',',$ruleStr);return $ruleArr;
}

这个方法是写在Common控制器的,作为一个公用方法。根据传过来的用户id,查询对应的瑞泽信息,并且转化成数组。

2、把获取到的规则数组传递给视图,在视图页进行判断

我这里就是采用最笨的方法。把每个列表页在规则表中对应的id,专门找出来。然后判断这个列表页的id在不在用户对应的权限数组中。在的话就显示,不在的话就不显示。

比如这个图片,我用户信息在auth_rule表中对应的id是12,那我就判断一下,这个12在不在用户的权限数组中。

以上配合上第一篇文章,基本就完成一个闭环。注意把所有的方法,包括JS异步请求的方法,都加入到auth_rule表中。这样就基本OK了。

我这边做的比较简单。如果有更好的方案或者问题,请留言,谢谢。

end

tp3.2.3权限控制二之后台管理部分,及菜单栏目显示问题相关推荐

  1. tp3.2.3权限控制一之详解及demo

    一.首先需明确TP3.2.3的权限控制是怎么实现的 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有多个角色, ...

  2. 【JAVA EE#6】【传智书城·源码阅读】后台管理模块:权限控制+页面分析+商品管理+销售榜单+订单管理+公告管理+项目结构思维导图

    权限控制 普通用户只能访问client文件夹下面的jsp文件,对于没有权限操作的admin文件夹就会提示错误,而超级用户同时可以访问两者,一直很好奇这个权限限制怎么实现的. 原来在存在一个AdminP ...

  3. netcore权限控制_netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源...

    基于netcore2.0 mvc 开发的 快速搭建具有如下特色的后台管理系统 特色: 用户管理 菜单管理 角色管理 权限管理[精确到按钮]) 代码生成器 如何使用 代码克隆到本地 用vs2017或以上 ...

  4. 疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限...

    我的目标就是,权限想定义什么权限就定义什么权限,想搞几个权限就搞几个 权限,只要一行代码就可以在程序里准确判断,用最少的参数,用最最简单的 方法,通用程序判断程序运行得铜墙铁壁一样稳定,这就是我的追求 ...

  5. MOSS字段编辑权限控制方案(2)-添加管理链接

    这系列的文章一直没完成,看到有些朋友还是对moss的字段权限控制非常感兴趣的,决定继续写下去. 没看过的朋友可以看一下以前的几篇: CodeArt WSS3.0(MOSS)字段编辑权限控制解决方案(v ...

  6. k26.第十一章 K8s进阶篇-细粒度权限控制 (二)

    2. RBAC实践 创建一个名为deployment-clusterrole的clusterrole ​ a) 该clusterrole只允许创建Deployment.Daemonset.Statef ...

  7. C#——后台管理端多级菜单的生成方式

    现在大多的应用程序(后端)都有菜单,不管是在左侧还是上面,界面基本都是基于现有的UI框架或者网上找的单独的菜单的插件.而实现的方式,大部分都是使用的AJAX形式来完成.前段时间,在总结一些过往的项目时 ...

  8. 基于Vue实现后台系统权限控制

    原文地址:http://refined-x.com/2017/08/29/基于Vue实现后台系统权限控制/,转载请注明出处. 用Vue这类双向绑定框架做后台系统再适合不过,后台系统相比普通前端项目除了 ...

  9. 美年_移动端开发_权限控制_Spring Security入门与进阶

    文章目录 第三章权限控制 3.1. 认证和授权概念 3.2. 权限模块数据模型 3.3 RBAC权限模型扩展: [小结] 3.3. Spring Security简介 [讲解] [小结] 3.4. S ...

最新文章

  1. 邮箱的正则表达式验证总结经验
  2. MySQL中的组函数(聚合函数)
  3. c语言编程思维训练50题,c语言逻辑思维训练题一
  4. java设计模式建造_Java设计模式——建造模式(Builder Pattern)
  5. SAP Spartacus 升级时关于 schematics 的更新
  6. Cloud for Customer的第一个显示的work center是怎么加载和渲染的
  7. LeetCode 66. Plus One
  8. android activity滑动切换,Android 向右滑动切换Activity, 随着手势的滑动而滑动的效果...
  9. nuxt解决首屏加载慢问题_Nuxt.js超过Vue.js:你什么时候应该使用它,为什么
  10. shell脚本基础 (一)
  11. 改变函数this指向
  12. Eclipse Android开发环境搭建
  13. 【Scratch】青少年蓝桥杯_每日一题_3.01_画莲花
  14. wp 主题,wp 主题大全,wp 主题模板
  15. 模拟计算机打字,JS实现电脑虚拟键盘打字测试
  16. TCPIP远程网络电子健康码扫码设备|二维码扫码门禁机HX-QR86L-IP在校园复学防疫领域的应用
  17. RFC8402 Segment Routing Architecture 翻译
  18. 数据结构期末考试——判断题
  19. 计算机导论黄国兴电子版第三版,计算机导论黄国兴
  20. 很强大!低耦合高内聚的MCU实用软件框架

热门文章

  1. linux配置ssh免密码,Linux下配置SSH免密通信 - “ssh-keygen”的基本用法
  2. 全局稳定性收敛平衡点为0吗_「模型解读」GoogLeNet中的inception结构,你看懂了吗...
  3. 领克linux系统怎么下载软件,新升级的领克车机系统好用吗?我们来盘一下
  4. python 矩形补正方形
  5. cpp_extension dist must be a Distribution instance
  6. python autoreload
  7. openLayers3 中实现多个Overlay
  8. torch div优化
  9. 识别MNIST数据集:用Python实现神经网络
  10. 青龙羊毛——新快手极速版(搬运,非原创)