Files
2026-08-08 18:27:38 +08:00

139 lines
6.8 KiB
PHP

<?php
/**
* RBAC 权限注册表。
*
* - groups:权限分组(用于后台「用户权限」勾选界面分组)。
* - permissions:全部权限点(key => label + group)。
* - roles:角色默认权限。super_admin 用 '*' 表示全部;
* staff 默认空,由管理员在用户维度勾选分配(写入 users.permissions JSON)。
*
* 解析规则见 App\Models\User::canPerm()。
*/
return [
'groups' => [
'dashboard' => '仪表盘',
'content' => '内容管理',
'forum' => '论坛管理',
'appearance'=> '外观管理',
'users' => '用户与权限',
'settings' => '站点设置',
],
'permissions' => [
// 仪表盘
'dashboard.view' => ['label' => '查看仪表盘', 'group' => 'dashboard'],
// 产品
'products.view' => ['label' => '查看产品', 'group' => 'content'],
'products.create' => ['label' => '新建产品', 'group' => 'content'],
'products.update' => ['label' => '编辑产品', 'group' => 'content'],
'products.delete' => ['label' => '删除产品', 'group' => 'content'],
// 分类
'categories.view' => ['label' => '查看分类', 'group' => 'content'],
'categories.create' => ['label' => '新建分类', 'group' => 'content'],
'categories.update' => ['label' => '编辑分类', 'group' => 'content'],
'categories.delete' => ['label' => '删除分类', 'group' => 'content'],
// 文章
'articles.view' => ['label' => '查看文章', 'group' => 'content'],
'articles.create' => ['label' => '新建文章', 'group' => 'content'],
'articles.update' => ['label' => '编辑文章', 'group' => 'content'],
'articles.delete' => ['label' => '删除文章', 'group' => 'content'],
'articles.moderate' => ['label' => '审核用户投稿', 'group' => 'content'],
// 解决方案
'solutions.view' => ['label' => '查看方案', 'group' => 'content'],
'solutions.create' => ['label' => '新建方案', 'group' => 'content'],
'solutions.update' => ['label' => '编辑方案', 'group' => 'content'],
'solutions.delete' => ['label' => '删除方案', 'group' => 'content'],
// 新闻动态
'news.view' => ['label' => '查看新闻', 'group' => 'content'],
'news.create' => ['label' => '新建新闻', 'group' => 'content'],
'news.update' => ['label' => '编辑新闻', 'group' => 'content'],
'news.delete' => ['label' => '删除新闻', 'group' => 'content'],
// 术语库
'glossary.view' => ['label' => '查看术语', 'group' => 'content'],
'glossary.create' => ['label' => '新建术语', 'group' => 'content'],
'glossary.update' => ['label' => '编辑术语', 'group' => 'content'],
'glossary.delete' => ['label' => '删除术语', 'group' => 'content'],
// 论坛
'forum.view' => ['label' => '查看论坛', 'group' => 'forum'],
'forum.create' => ['label' => '新建板块', 'group' => 'forum'],
'forum.update' => ['label' => '编辑板块', 'group' => 'forum'],
'forum.delete' => ['label' => '删除板块', 'group' => 'forum'],
'forum.moderate' => ['label' => '审核帖子/回复', 'group' => 'forum'],
// 留言
'contacts.view' => ['label' => '查看留言', 'group' => 'users'],
'contacts.delete' => ['label' => '删除留言', 'group' => 'users'],
// 外观管理(首页轮播 / 导航菜单)
'appearance.view' => ['label' => '查看外观设置', 'group' => 'appearance'],
'appearance.update' => ['label' => '修改外观设置', 'group' => 'appearance'],
// 用户与权限
'users.view' => ['label' => '查看用户', 'group' => 'users'],
'users.create' => ['label' => '新增用户', 'group' => 'users'],
'users.update' => ['label' => '编辑用户', 'group' => 'users'],
'users.delete' => ['label' => '删除用户', 'group' => 'users'],
'users.assign_role' => ['label' => '分配角色/权限', 'group' => 'users'],
'users.reset_password' => ['label' => '重置用户密码', 'group' => 'users'],
// 站点设置
'settings.view' => ['label' => '查看站点设置', 'group' => 'settings'],
'settings.update' => ['label' => '修改站点设置', 'group' => 'settings'],
],
'roles' => [
'super_admin' => [
'label' => '超级管理员',
'level' => 5,
'permissions' => ['*'],
],
'admin' => [
'label' => '管理员',
'level' => 4,
'permissions' => [
'dashboard.view',
'products.view', 'products.create', 'products.update', 'products.delete',
'categories.view', 'categories.create', 'categories.update', 'categories.delete',
'articles.view', 'articles.create', 'articles.update', 'articles.delete', 'articles.moderate',
'solutions.view', 'solutions.create', 'solutions.update', 'solutions.delete',
'news.view', 'news.create', 'news.update', 'news.delete',
'glossary.view', 'glossary.create', 'glossary.update', 'glossary.delete',
'forum.view', 'forum.create', 'forum.update', 'forum.delete', 'forum.moderate',
'contacts.view', 'contacts.delete',
'appearance.view', 'appearance.update',
'users.view', 'users.create', 'users.update', 'users.delete', 'users.assign_role', 'users.reset_password',
'settings.view', 'settings.update',
],
],
'forum_admin' => [
'label' => '论坛管理员',
'level' => 3,
'permissions' => [
'dashboard.view',
'forum.view', 'forum.create', 'forum.update', 'forum.delete', 'forum.moderate',
'articles.view', 'articles.moderate',
'contacts.view',
],
],
'staff' => [
'label' => '内部员工',
'level' => 2,
'permissions' => [], // 由管理员在「用户权限」中勾选分配
],
'user' => [
'label' => '注册用户',
'level' => 1,
'permissions' => [],
],
],
];