PbootCMS---权限管理

最近再用PbootCMS二次开发,新增了权限管理。下面来梳理一下它的权限管理逻辑:

首先是在【系统菜单】新增了三个菜单管理:

这里注意下面的【续费列表】和【续费客户】的URL应该是不同的:

不能写成:

/admin/Renewal/index         
/admin/Renewal/Customer

选择对应的功能:

新增完成后,可以查看 ay_menu_action 表:主要是 M162  M163

然后在【系统角色】里面进行权限分配。

分配完成后,查看 ay_role_level 表:主要分配了一个R102的角色:

这些生成的具体规则,就是做权限验证的规则。

然后我们查看生成:查看、删改、修改的按钮:

查看其具体方法:apps / common / function.php 以:删除和修改为例:

核心的按钮权限验证方法,在 120 和 130 行:

in_array('/' . M . '/' . C . '/del', $user_level)
in_array('/' . M . '/' . C . '/mod', $user_level)

通过 M 和 C 方法,获取当前 模块(admin)控制器(Renewal / Customer)然后拼接对于的方法(del / mod)去和 $user_level 进行 in_array 的匹配,这样就完成了按钮权限的验证。

这里就是为什么在上面提到的 续费客户 的URL不能写成:admin/Renewal/Customer 的原因。

posted @ 2022-04-28 17:50  帅到要去报警  阅读(597)  评论(0编辑  收藏  举报