feat(file): 实现文件删除权限控制功能

- 新增 FILE_DELETE_NO_PERMISSION 错误码用于无权删除文件的提示
- 移除控制器层的 @PreAuthorize 注解,将权限校验逻辑下沉到服务层
- 在 FileServiceImpl 中注入 SecurityFrameworkService 进行权限验证
- 实现 validateFileDeletePermission 方法校验删除权限
- 支持上传者本人可删除自己上传的文件,管理员仍保留全局删除权限
- 批量删除时逐个校验权限,任一越权即整体拒绝操作
This commit is contained in:
2026-07-13 16:23:24 +08:00
parent 5b2c6dd94c
commit f77007c4b7
3 changed files with 33 additions and 2 deletions

View File

@@ -106,6 +106,7 @@ public interface ErrorCodeConstants {
ErrorCode FILE_PATH_EXISTS = new ErrorCode(1_001_003_000, "文件路径已存在");
ErrorCode FILE_NOT_EXISTS = new ErrorCode(1_001_003_001, "文件不存在");
ErrorCode FILE_IS_EMPTY = new ErrorCode(1_001_003_002, "文件为空");
ErrorCode FILE_DELETE_NO_PERMISSION = new ErrorCode(1_001_003_003, "无权删除该文件,仅可删除本人上传的文件");
// ========== OAuth2 客户端 1-002-020-000 =========
ErrorCode OAUTH2_CLIENT_NOT_EXISTS = new ErrorCode(1_002_020_000, "OAuth2 客户端不存在");