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

ThinkPHP类似于RBAC的权限控制_第1张图片

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

ThinkPHP类似于RBAC的权限控制

1、首先我们程序做完之后,进我们的model和controller里面的方法进行数据库的入库处理,注意名称不能重复,不然导致权限混乱

ThinkPHP类似于RBAC的权限控制_第2张图片

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


ThinkPHP类似于RBAC的权限控制_第3张图片

3、登陆的时候根据session的用户登陆的信息查到用户的权限组,然后查出所分配的权限,根据数据表我们只要控制列表按钮显示不显示就可以实现,那么我们就找到数据表里面的method的名称,然后将它组成一个数组。ThinkPHP类似于RBAC的权限控制_第4张图片

4、将权限组里面的权限的cotroller的方法赋值到前台,前台使用in_array判断该名称是否在数组里面

ThinkPHP类似于RBAC的权限控制_第5张图片

5、这个也是最关键的一步,在body加一个自动执行的设置ThinkPHP类似于RBAC的权限控制

循环判断当前的ul下面是否是否都为空,不为空正常显示有权限的列表按钮,为空将移除父类,也就是


ThinkPHP类似于RBAC的权限控制

按钮!


ThinkPHP类似于RBAC的权限控制_第6张图片

这样效果就出来了,