mirror of
https://devops.lemonos.cn/lawson/FendxPHP.git
synced 2026-06-15 15:02:49 +08:00
- 创建用户表(users)包含基本信息和认证字段 - 创建角色表(roles)用于权限控制 - 创建权限表(permissions)定义系统权限 - 创建用户角色关联表(user_roles)建立用户与角色关系 - 创建角色权限关联表(role_permissions)建立角色与权限关系 - 创建迁移记录表(migrations)追踪数据库变更 - 添加AdminController提供管理员面板功能 - 实现系统监控、配置管理、缓存清理等功能 - 添加AOP切面编程支持的各种通知类型 - 实现告警管理AlertManager支持多渠道告警 - 添加文档注解接口规范
73 lines
4.6 KiB
PHP
73 lines
4.6 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
use Fendx\Database\Seeder\Seeder;
|
|
use Fendx\Database\Connection\DB;
|
|
|
|
/**
|
|
* 权限种子数据
|
|
*/
|
|
class PermissionSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$permissions = [
|
|
// 用户管理权限
|
|
['name' => 'user.list', 'display_name' => '查看用户列表', 'group_name' => '用户管理', 'sort_order' => 1],
|
|
['name' => 'user.create', 'display_name' => '创建用户', 'group_name' => '用户管理', 'sort_order' => 2],
|
|
['name' => 'user.edit', 'display_name' => '编辑用户', 'group_name' => '用户管理', 'sort_order' => 3],
|
|
['name' => 'user.delete', 'display_name' => '删除用户', 'group_name' => '用户管理', 'sort_order' => 4],
|
|
['name' => 'user.view', 'display_name' => '查看用户详情', 'group_name' => '用户管理', 'sort_order' => 5],
|
|
|
|
// 角色管理权限
|
|
['name' => 'role.list', 'display_name' => '查看角色列表', 'group_name' => '角色管理', 'sort_order' => 1],
|
|
['name' => 'role.create', 'display_name' => '创建角色', 'group_name' => '角色管理', 'sort_order' => 2],
|
|
['name' => 'role.edit', 'display_name' => '编辑角色', 'group_name' => '角色管理', 'sort_order' => 3],
|
|
['name' => 'role.delete', 'display_name' => '删除角色', 'group_name' => '角色管理', 'sort_order' => 4],
|
|
['name' => 'role.assign', 'display_name' => '分配角色', 'group_name' => '角色管理', 'sort_order' => 5],
|
|
|
|
// 权限管理权限
|
|
['name' => 'permission.list', 'display_name' => '查看权限列表', 'group_name' => '权限管理', 'sort_order' => 1],
|
|
['name' => 'permission.create', 'display_name' => '创建权限', 'group_name' => '权限管理', 'sort_order' => 2],
|
|
['name' => 'permission.edit', 'display_name' => '编辑权限', 'group_name' => '权限管理', 'sort_order' => 3],
|
|
['name' => 'permission.delete', 'display_name' => '删除权限', 'group_name' => '权限管理', 'sort_order' => 4],
|
|
|
|
// 内容管理权限
|
|
['name' => 'content.list', 'display_name' => '查看内容列表', 'group_name' => '内容管理', 'sort_order' => 1],
|
|
['name' => 'content.create', 'display_name' => '创建内容', 'group_name' => '内容管理', 'sort_order' => 2],
|
|
['name' => 'content.edit', 'display_name' => '编辑内容', 'group_name' => '内容管理', 'sort_order' => 3],
|
|
['name' => 'content.delete', 'display_name' => '删除内容', 'group_name' => '内容管理', 'sort_order' => 4],
|
|
['name' => 'content.publish', 'display_name' => '发布内容', 'group_name' => '内容管理', 'sort_order' => 5],
|
|
['name' => 'content.audit', 'display_name' => '审核内容', 'group_name' => '内容管理', 'sort_order' => 6],
|
|
|
|
// 系统管理权限
|
|
['name' => 'system.config', 'display_name' => '系统配置', 'group_name' => '系统管理', 'sort_order' => 1],
|
|
['name' => 'system.log', 'display_name' => '查看系统日志', 'group_name' => '系统管理', 'sort_order' => 2],
|
|
['name' => 'system.monitor', 'display_name' => '系统监控', 'group_name' => '系统管理', 'sort_order' => 3],
|
|
['name' => 'system.backup', 'display_name' => '数据备份', 'group_name' => '系统管理', 'sort_order' => 4],
|
|
['name' => 'system.restore', 'display_name' => '数据恢复', 'group_name' => '系统管理', 'sort_order' => 5],
|
|
|
|
// API权限
|
|
['name' => 'api.access', 'display_name' => 'API访问', 'group_name' => 'API管理', 'sort_order' => 1],
|
|
['name' => 'api.create', 'display_name' => 'API创建', 'group_name' => 'API管理', 'sort_order' => 2],
|
|
['name' => 'api.update', 'display_name' => 'API更新', 'group_name' => 'API管理', 'sort_order' => 3],
|
|
['name' => 'api.delete', 'display_name' => 'API删除', 'group_name' => 'API管理', 'sort_order' => 4],
|
|
];
|
|
|
|
foreach ($permissions as $permission) {
|
|
DB::table('permissions')->insert([
|
|
'name' => $permission['name'],
|
|
'display_name' => $permission['display_name'],
|
|
'group_name' => $permission['group_name'],
|
|
'guard_name' => 'web',
|
|
'is_active' => true,
|
|
'sort_order' => $permission['sort_order'],
|
|
'created_at' => date('Y-m-d H:i:s'),
|
|
'updated_at' => date('Y-m-d H:i:s'),
|
|
]);
|
|
}
|
|
|
|
$this->command->info('权限种子数据插入完成');
|
|
}
|
|
}
|