先带大家看看效果:
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
原文地址:http://9638834.blog.51cto.com/9628834/1834335