跳到主要内容

用户与分组

用户字段

字段说明
name用户名
email邮箱(用于登录和邮件通知)
verified邮箱是否已验证
picture头像 URL
description个人简介

手动创建用户

registration.enabled: false 时,管理员可通过 POST /admin/users(需 admin:user:create)手动创建用户,绕过注册限制。

查找用户

  • 列表GET /admin/users,支持分页和筛选
  • 全局搜索/admin/searchadmin:models:search),跨所有模型搜索

用户分组(Groups)

分组用于批量管理参赛者,常见用途:按班级/院校/队伍组织用户、控制默认分配、赛前批量导入用户。

创建分组

POST /admin/groups(需 admin:group:create

自动分配

registration.default_group 中配置分组 ID,新注册用户自动加入该分组。也可在 OAuth 配置的 default_group 字段中为 OAuth 登录用户单独设置默认分组。

手动添加/移除用户

  • 添加用户到分组:POST /admin/groups/:groupID/usersadmin:user:assign
  • 移除用户:DELETE /admin/groups/:groupID/usersadmin:user:revoke

GeoIP 地理信息

若配置了 geocity_db(MaxMind GeoLite2-City),用户列表中会显示最近登录 IP 的地理位置(国家/城市)。

IP 登录历史

通过 GET /admin/ipadmin:ip:search)搜索特定 IP 的登录历史,包含登录时间、地理位置、关联用户等信息,用于作弊调查。

邮箱验证流程

  1. 确保已配置 SMTP 服务器(见 邮件配置
  2. user 角色分配 self:activate 权限
  3. 用户调用 POST /me/activate 触发发送激活邮件
  4. 用户点击邮件中的链接,verified 字段变为 true

重置用户密码

管理员通过 PUT /admin/users/:userIDadmin:user:update)可直接修改用户密码,无需原密码验证。