feat(权限): 完善所有策略的权限检查

- 更新 DocumentPolicy 添加权限检查
  - viewAny/view/create/update/delete/download 都检查相应权限
  - 保留现有的分组访问控制逻辑
  - 保留安全日志记录功能
- 更新 TerminalPolicy 添加权限检查
  - 所有方法都基于 terminal.* 权限
  - 新增 sync 方法用于配置同步权限检查
- 更新 SopTemplatePolicy 添加权限检查
  - 所有方法都基于 sop-template.* 权限
  - 保留现有的状态检查逻辑(已发布不可编辑/删除)
- 创建 SystemSettingPolicy
  - 实现 viewAny/view/update 权限检查
- 创建 ActivityLogPolicy
  - 实现 viewAny/view/export 权限检查
- 创建 GroupPolicy
  - 实现完整的 CRUD 权限检查
  - 删除前检查关联文档和用户
- 在 AppServiceProvider 中注册所有策略
This commit is contained in:
2026-03-11 10:08:22 +08:00
parent c2b83e7857
commit 386fe42f76
7 changed files with 249 additions and 39 deletions

View File

@@ -37,5 +37,8 @@ class AppServiceProvider extends ServiceProvider
Gate::policy(SopTemplate::class, SopTemplatePolicy::class);
Gate::policy(\Spatie\Permission\Models\Role::class, \App\Policies\RolePolicy::class);
Gate::policy(\App\Models\User::class, \App\Policies\UserPolicy::class);
Gate::policy(\App\Models\SystemSetting::class, \App\Policies\SystemSettingPolicy::class);
Gate::policy(\Spatie\Activitylog\Models\Activity::class, \App\Policies\ActivityLogPolicy::class);
Gate::policy(\App\Models\Group::class, \App\Policies\GroupPolicy::class);
}
}