ThinkPHP权限之另类RBAC效果

先带大家看看效果:

admin最高权限的用户只有一个,他将不参与判断,直接显示全部

效果,商家管理权限,只单单显示商家管理导航,其他隐藏或移除元素

下面小编就带这大家完成上面的效果:
1、首先我们程序做完之后,进我们的model和controller里面的方法进行数据库的入库处理


2、分配权限组,每个组别的权限不同,权限序列化处理,存入权限的id


3、登陆的时候根据session的用户登陆的信息查到用户的权限组,然后查出所分配的权限,根据数据表我们只要控制列表按钮显示不显示就可以实现,那么我们就找到数据表里面的method的名称,然后将它组成一个数组。
4、将权限组里面的权限的cotroller的方法赋值到前台,前台使用in_array判断该名称是否在数组里面

5、这个也是最关键的一步,在body加一个自动执行的设
循环判断当前的ul下面是否是否都为空,不为空正常显示有权限的列表按钮,为空将移除父类,也就是按钮!


好了以上就是ThinkPHP另类RBAC的实现方法了,总结为毛要叫另类呢,因为效果类似,但是方法确实不尽相同,所以小编就给他一个另类的称呼了!小伙伴学到没有,赶快敲起来试试吧!

本文属于思梦PHP原创文章,喜欢的小伙伴就帮忙转发吧,当然了也可以扫描下面的二维码,我们会给大家提供一些我们平时总结的一些小案例和大家分享!

我们的官方群号为:

思梦PHP官方交流1群 466388300    

思梦PHP官方交流2群 527490769

时间: 2024-11-05 02:20:56

ThinkPHP权限之另类RBAC效果的相关文章

权限系统与RBAC模型概述

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3793894.html 0. 前言 一年前,我负责的一个项目中需要权限管理.当时凭着自己的逻辑设计出了一套权限管理模型,基本原理与RBAC非常相似,只是过于简陋.当时google了一些权限管理的资料,从中了解到早就有了RBAC这个东西.可惜一直没狠下心来学习. 更详细的RBAC模型非常复杂.本文只做了一些基础的理论性概述.

使用Lync 2013 基于角色的权限控制:RBAC 给用户分配指定的操作权限

使用场景: 在大型的Lync统一沟通系统的日常运维中,我们需要为不同角色的管理员分配不同的Lync管理权限,在Lync Server 2013上面就使用了基于角色的权限控制:RBAC ,它里面分了多种权限角色,包括 CsAdministrator,CsUserAdministrator,CsVoiceAdministrator,CsServerAdministrator,CsViewOnlyAdministrator,CsHelpDesk等等,不同的角色有不同的Lync管理权限, 例如,当我们只

TP thinkphp 权限管理功能

目前,在tp框架中做权限管理 分rbac(老)与auth(推荐)认证方式: 老的tp版本中封装的是rbac认证: 新一点的都开始使用auth方式管理了.推荐使用此方式: 实现步骤一:引入类库Auth.class.php 实现步骤二:创建数据表 a.菜单表 CREATE TABLE `wifi_admin_nav` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '菜单表', `pid` int(11) unsigned DEFAUL

权限系统与RBAC模型概述[绝对经典]

0. 前言 一年前,我负责的一个项目中需要权限管理.当时凭着自己的逻辑设计出了一套权限管理模型,基本原理与RBAC非常相似,只是过于简陋.当时google了一些权限管理的资料,从中了解到早就有了RBAC这个东西.可惜一直没狠下心来学习. 更详细的RBAC模型非常复杂.本文只做了一些基础的理论性概述.本文资料完全来自互联网. 1. 权限系统与RBAC模型概述 RBAC(Role-Based Access Control )基于角色的访问控制. 在20世纪90年代期间,大量的专家学者和专门研究单位对

thinkphp集成系列之rbac的升级版auth权限管理系统demo

权限管理基本是作为网站的标配了: 除非是像博客这类个人使用的:否则权限管理的重要性不言而喻: 今个就来写写auth权限管理: thinkphp已经内置了auth权限类位于:/ThinkPHP/Library/Think/Auth.class.php 执行里面的sql生成3张表auth_rule.auth_group.auth_group_access: 然后自己再建一张users表:当然起其他的名字也是可以的:不过是需要在配置项中说明: 先对各表的作用简单介绍: users:用户表:这个不废话:

ThinkPHP项目笔记之RBAC(权限)基础篇

今天,总结一下,RBAC(基于角色的访问控制),直白一点,就是权限管理.说到这,不得不“小叙”一下,我第一次 开发权限管理功能的“插曲”.第一次做这个,真的不会,我只知道“有点印象”,当时任务落到我的身上,主管也是说个 大概,至于“大概”是什么,基本可以忽略不计,没法,没有参考,只有到处找资料,翻资料,后来还是我在网上找到了 相关的视频,(说到技术视频,我不得不说,就算下载很多的视频,别人就算讲的再好,不一定挪到你那里就好使, 就好比,说与做是两码事一样,别人讲视频其实是加深别人对知识点的理解,

ThinkPHP项目笔记之RBAC(权限)补充篇

这里,主要补充的是配置以及相关代码问题. <?php return array( //'配置项'=>'配置值' 'RBAC_SUPERADMIN' => 'admin',//超级管理员名称,对应用户表中某一个用户:username 'ADMIN_AUTH_KEY' => 'superadmin',//超级管理员识别 'USER_AUTH_ON' => true, //是否需要认证 'USER_AUTH_TYPE' => 1, //认证类型 1-登陆后认证,2-实时认证

ThinkPHP项目笔记之RBAC(权限)上篇

当理清这5个表的关系,接下来,就是功能介绍了. 基本会按照这个思路,作为介绍. a.添加角色 几点注意: 1.角色名称,即对应工作中的职称,如程序员,架构师等,每个职称会有对应的权限,同理,不同的角色有不同的对应权限. 2.角色描述,(不要想当然是对该角色的某某描述,a,是干嘛的,b是干嘛的,c又是干嘛的..),这个角色描述 很重要,不要“断章取义”.它就是权限分配的关键点,(这是我在项目中琢磨出来的). 3.是否开启,有关闭和启动2项,即对该角色的限制.简单的将,开启,意味着该角色“work”

ThinkPHP项目笔记之RBAC(权限)下篇

接着谈谈:添加用户以及用户管理列表 e.添加用户 用户名:一般做一些长度,字符的限制,以及判断该用户是否存在等 密码:严格的将,密码要设置较复杂,但要不易忘记最好. 所属用户组:就是所有的角色的集合,包括超级管理员,管理员等等 f.用户管理列表 即所有添加的用户的集合.