Skip to content

[r2cn] 实现管理员管理文档权限的 API,并基于用户组控制编辑权限 #1935

@benjamin-747

Description

@benjamin-747

[任务] 实现管理员管理文档权限的 API,并基于用户组控制编辑权限

[任务分值] 30 分

[背景描述]

  • 当前系统中的文档编辑能力缺乏精细化权限控制机制:
  • 文档的编辑权限可能默认对较大范围用户开放
  • 缺少明确的“管理员 → 用户组 → 文档权限”管理模型
  • 无法做到:
    • 仅特定用户可以编辑某类文档
    • 动态调整编辑权限
    • 基于组织结构进行权限管理

[需求描述]

一、目标

  • 提供管理员管理文档权限的 API
  • 建立“用户组 → 文档编辑权限”的绑定关系
  • 确保只有加入指定群组的用户才能编辑对应文档

二、功能需求

  1. 权限模型设计

引入基础权限模型:

  • User(用户)
  • Group(用户组)
  • Document(文档)
  • DocumentPermission(文档权限配置)
  1. 管理员权限管理 API

新增以下类型 API:

(1)用户组管理

  • 创建用户组
  • 删除用户组
  • 添加用户到用户组
  • 从用户组移除用户

(2)文档权限管理

  • 设置文档可编辑的用户组列表
  • 查询文档当前编辑权限
  • 更新文档权限配置

要求:

  • 只有管理员角色可调用相关 API
  • 所有操作应进行权限校验

[代码标准]

  1. 所有 PR 提交必须签署 Signed-off-by 和 使用 GPG 签名,即提交代码时(使用 git commit 命令时)至少使用 -s -S 两个参数,参考 Contributing Guide
  2. 所有 PR 提交必须通过 GitHub Actions 自动化测试,提交 PR 后请关注 GitHub Actions 结果;
  3. 代码注释均需要使用英文;

[PR 提交地址] 提交到 mega 仓库的 main 分支 `` 目录;

[开发指导]

  1. 认领任务参考 r2cn 开源实习计划 - 任务认领与确认;

[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在 #p-meta 频道和导师交流。

  1. Quanyi Ma genedna@gmail.com
  2. Tianxing Ye yetianxing2014@gmail.com

[备注]

  1. 认领实习任务的同学,必须完成测试任务和注册流程,请参考: r2cn 开源实习计划 - 测试任务r2cn 开源实习计划 - 学生注册与审核

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions