Skip to content

用户管理 ​

本页讲账号的创建、导入与维护。角色与权限模型(超管、学科角色、题目可见性等)见 权限与角色。

用户字段 ​

  • 用户名、姓名、头像
  • is_superuser(超级管理员标记)、is_active(启用状态)
  • last_login、login_count(登录统计)

学科归属与角色不在用户账号上直接设置,而是在「学科管理 → 成员管理」中按学科授予,详见 权限与角色。

常见操作 ​

  • 创建用户:超级管理员在用户管理中新建账号并设定角色。
  • 批量导入:超级管理员可通过 Excel 一次性创建多个账号,见下文。
  • 修改资料:用户可修改自己的资料。
  • 修改密码:用户可修改自己的密码。
  • 启用 / 停用:管理员可停用账号。

批量导入用户 ​

超级管理员可在「用户管理」页点击 批量导入,通过 Excel 一次性创建多个账号:

  1. 下载 .xlsx 模板。

  2. 按模板列填写数据:

    列必填说明
    用户名✅需唯一,且不能与文件内其他行或已有用户重复
    姓名✅用户全名
    密码✅至少 6 位
    管理员❌填「是」创建为管理员,留空为普通用户
  3. 上传文件(仅支持 .xlsx,最大 5MB)。

  4. 系统逐行校验并入库,随后返回成功数量与逐行失败明细,可一键复制错误信息,修正后重新导入。

TIP

合法行会立即创建,个别错误行不会影响其他行;重复上传时已存在的用户名会被跳过并在明细中提示。

自助注册 ​

默认关闭。超级管理员可在 系统参数 的「注册设置」中开启:

  • 开放自助注册:开启后登录页出现「立即注册」入口,访客可自行创建账号(仅普通用户,无法自助成为管理员)。
  • 注册需管理员审核:开启后新注册账号默认停用(is_active=false),需管理员在用户管理中启用后方可登录。

首次初始化 ​

初始化分为两个相互独立的阶段,向导会根据当前状态自动从对应步骤开始:

  1. 数据库:仅当未配置数据库(没有环境变量 DB_URL,也没有 config.json)时出现。选择数据库类型(SQLite / MySQL)并校验连接,随后运行迁移并保存配置。
  2. 首个超级管理员:只要数据库已就绪、但系统中还没有启用的超级管理员,就会出现。与数据库如何配置无关。

因此:

  • 桌面版:通过托盘「打开题库」进入向导,依次完成两步。
  • Docker / 服务器版:数据库已由 DB_URL 提供,首次打开网页会直接进入「创建管理员」步骤。

在完成初始化之前,除向导外的所有接口都返回 503,登录、注册等页面也不可用。

也可以用命令行脚本创建超管(会创建 admin / password,登录后请立即修改密码):

bash
docker compose exec backend python scripts/create_superuser.py

至少保留一个超级管理员

系统禁止删除、取消超管或停用最后一个启用的超级管理员。如果绕过界面直接改库导致没有启用的超管,下次访问会重新进入「创建管理员」向导。

基于 AGPL-3.0 许可发布