🔧RBAC权限系统

本系统为管理后台的权限系统,本系统的意图是让站长可以安全,便捷,明确的给予不同管理人员对应的权限来帮助管理。

角色 - Role

面板自带:超级管理员 - Super Admin 请勿修改!

超级管理员:如其名,检查角色是否有操作权限时,会自动判断为有权限!即该角色有面板的全部权限;与原先用户编辑中的是否是管理选项相当! 注意:给这个角色添加权限属于鸡助行为!因为该角色默认所有权限时直接在后台处理文件中赋予的!

原则:一人可饰多角

权限 - Permission

每一个权限都有其对应管理范围;

原则:一角可有多权

权限行为

面板自带权限行为可参考:https://demo.proxypanel.ml/admin/permission

一下我们将解释如何看待/运用面板的权限!

基础 (小白必看)

权限是怎么划分出来的?

本项目权限基于管理路由(直观点 就是访问的网页链接&请求方法)的权限,来判断用户是否有权访问/修改。

例:

在【权限行为列表】页面中,你可以看到admin.aff.index,其名称为:【推广系统】提现管理列表 通俗点表示https://demo.proxypanel.ml/admin/aff 这个页面的访问权。

相似的行为有什么快速区分的方法吗?

admin.goods.create,store为例,admin.goods.为路径,create,store为行为;两者以最后一个·点为分界线;其中行为中 ,逗号和 &的意思。

后缀

通常意味着

index

访问xx的页面、列表

create

访问xx的添加页面

store

将添加页面中内容添加至数据库的操作

show

访问xx中xxx的详细内容

edit

访问编辑页面

update

将编辑页面中内容保存至数据库的操作

*

该路径全部权限;

其他

注意:admin.goods.* 等于 admin.goods;无论admin.goods·点之后带什么,它都包含其权限! 例:admin.goods.* = admin.goods > admin.goods.items > admin.goods.items.index,create > admin.goods.items.index

进阶

按照行为,我们认为访问编辑页面和编辑操作添加页面和添加操作 为并列行为,所以面板提供的默认行为列表是合并在一起的,你可以通过上面的讲解,以及参考其他行为书写形式进行拆分兼并

更多权限行为依据

使用ssh,在网站的根目录下,运行

php artisan route:list

以上指令,可以让你看到网站使用的完整路由/链接列表。出现的表格中,URI为链接格式,name为路由名称,也是权限中的行为。

注意:本系统只对管理面板,即后台,有效。对用户所使用的前端是不带任何作用。一般管理的路由名称以admin.开头!

特殊权限

名称

描述

【用户系统】赋予角色权限 give roles

给予用户角色的操作, 拥有这个权限的角色可以赋予其他用户,其所拥有的角色。

更多建议,请开issue并详细描述想法,使用场景等,请求开发者考虑/添加。

最后更新于