forgetCachedPermissions(); // 定义所有权限 $permissions = [ // 文档管理权限 'document.view' => '查看文档', 'document.create' => '创建文档', 'document.update' => '编辑文档', 'document.delete' => '删除文档', 'document.download' => '下载文档', // 系统设置权限 'system-setting.view' => '查看系统设置', 'system-setting.update' => '修改系统设置', // 操作日志权限 'activity-log.view' => '查看操作日志', 'activity-log.export' => '导出日志', // 终端管理权限 'terminal.view' => '查看终端', 'terminal.create' => '创建终端', 'terminal.update' => '编辑终端', 'terminal.delete' => '删除终端', // 操作指引权限 'guide.view' => '查看指引', 'guide.create' => '创建指引', 'guide.update' => '编辑指引', 'guide.delete' => '删除指引', 'guide.publish' => '发布指引', 'guide.archive' => '归档指引', // 分组管理权限 'group.view' => '查看分组', 'group.create' => '创建分组', 'group.update' => '编辑分组', 'group.delete' => '删除分组', // 用户管理权限 'user.view' => '查看用户', 'user.create' => '创建用户', 'user.update' => '编辑用户', 'user.delete' => '删除用户', // 角色管理权限 'role.view' => '查看角色', 'role.create' => '创建角色', 'role.update' => '编辑角色', 'role.delete' => '删除角色', ]; // 创建所有权限 foreach ($permissions as $name => $description) { Permission::create([ 'name' => $name, 'guard_name' => 'web', ]); } // 创建角色并分配权限 $this->createSuperAdminRole(); $this->createAdminRole(); $this->createUserRole(); } /** * 创建超级管理员角色 */ private function createSuperAdminRole(): void { $role = Role::create([ 'name' => 'super-admin', 'guard_name' => 'web', ]); // 超级管理员拥有所有权限 $role->givePermissionTo(Permission::all()); } /** * 创建管理员角色 */ private function createAdminRole(): void { $role = Role::create([ 'name' => 'admin', 'guard_name' => 'web', ]); // 管理员权限(除了角色管理) $permissions = [ // 文档管理 'document.view', 'document.create', 'document.update', 'document.delete', 'document.download', // 系统设置 'system-setting.view', 'system-setting.update', // 操作日志 'activity-log.view', 'activity-log.export', // 终端管理 'terminal.view', 'terminal.create', 'terminal.update', 'terminal.delete', // 操作指引 'guide.view', 'guide.create', 'guide.update', 'guide.delete', 'guide.publish', 'guide.archive', // 分组管理 'group.view', 'group.create', 'group.update', 'group.delete', // 用户管理 'user.view', 'user.create', 'user.update', 'user.delete', ]; $role->givePermissionTo($permissions); } /** * 创建普通用户角色 */ private function createUserRole(): void { $role = Role::create([ 'name' => 'user', 'guard_name' => 'web', ]); // 普通用户权限(基本查看和操作) $permissions = [ // 文档管理 'document.view', 'document.create', 'document.download', // 终端管理(仅查看) 'terminal.view', // 操作指引(仅查看) 'guide.view', // 分组管理(仅查看) 'group.view', ]; $role->givePermissionTo($permissions); } }