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

微信公众平台:思梦PHP

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

手把手 | 20行Python代码教你批量将PDF转为Word

35150
来自专栏Kirito的技术分享

从Spring Session源码看Session机制的实现细节

去年我曾经写过几篇和 Spring Session 相关的文章,从一个未接触过 Spring Session 的初学者视角介绍了 Spring Session ...

658120
来自专栏Golang语言社区

【Go 语言社区】用Go实现的简易TCP通信框架--转

接触到GO之后,GO的网络支持非常令人喜欢。GO实现了在语法层面上可以保持同步语义,但是却又没有牺牲太多性能,底层一样使用了IO路径复用,比如在LINUX下用了...

422100
来自专栏FreeBuf

我是如何利用CSRF Get DedeCms Shell的

说实话,有一两个月没有审计大厂了,然后随便看到群里有人问dede最新有没有漏洞,就下了一套最新的dede,结果我一看还真发现了。 ? 我们发现后台添加广...

25080
来自专栏张善友的专栏

使用 MEF 轻松实现云部署

Joseph Fultz Chris Mabry 下载代码示例 ? 过去几个月中,我和一位同事一直在从事一个利用 Microsoft Extensibilit...

22870
来自专栏学习有记

AlwaysOn 进阶 Level 1:What is "SQL Server AlwaysOn"?

15730
来自专栏王磊的博客

Node出错导致运行崩溃的解决方案

许多人都有这样一种映像,NodeJS比较快; 但是因为其是单线程,所以它不稳定,有点不安全,不适合处理复杂业务; 它比较适合对并发要求比较高,而且简单的业务场景...

813140
来自专栏智能大石头

NewLife.Net——构建可靠的网络服务

老规矩,先上源码:https://github.com/nnhy/NewLife.Net.Tests

12900
来自专栏北京马哥教育

一万两千字长文,六大问题为你解读计算机

1描述计算机的组成及其功能 电子计算机,亦称电脑,是一种利用电子学原理,根据一系列指令对数据进行处理的工具 计算机及其组成 计算机是什么       电子计...

388100
来自专栏源码之家

WDCP 504 MySQL server has gone away 解决方法

15020

扫码关注云+社区

领取腾讯云代金券