🎉 我们正在招聘远程 测试工程师,欢迎加入

如何在 NocoBase 中实现注册用户审核

本文档提供了两种实现用户注册审核的方案,针对不同的业务场景设计:

  • 方案一:适用于需要简单、快速地实现注册审核流程的场景。该方案利用系统默认的新用户注册功能,为所有新用户分配一个无权限的“游客”角色,后续由管理员在后台手动审核并更新角色。

  • 方案二:适用于需要灵活、定制化的注册审核流程的场景。通过设计专用的申请信息表、配置审核工作流以及激活公开表单插件,实现从注册申请提交到自动创建新用户的全流程管理。


1. 方案一:使用无权限的“游客”角色

1.0 适用场景

适用于对注册审核要求较简单,希望使用系统自带的注册功能,并在后台人工审核用户的场景。

1.1 开启密码认证,允许用户注册

1.1.1 进入用户认证页面

首先我们需要确认下用户注册功能是否开启,在系统设置中,前往用户认证页面,该页面管理所有身份认证渠道,如“账号密码登录”、谷歌登录等(可通过插件扩展)。

注册功能的开关在这里:

1.2 设置默认角色(核心)

1.2.1 创建“游客”角色

系统默认开启了注册功能,但是默认角色可能不符合要求。

所以我们首先需要在【角色列表】中创建一个“游客”角色,作为默认角色,并且不包含任何权限。所有新注册的用户会自动分配该角色。

1.3 配置注册用户审核界面(核心)

切换至编辑模式,在后台配置一个简单的表格区块,选择用户表,用于展示和管理注册用户。

1.4 测试注册审核流程,手动更新角色

  • 新用户注册后,页面默认显示空白
  • 在管理界面中,对于申请信息无误的用户,手动将其角色修改为指定角色,完成审核。

1.5 配置提示页面(可选)

1.5.1 新建一个页面,比如 “注册成功”,内容填写提示信息

可选步骤:我们可以在该空白页面中添加友好提示,例如“您的账户正在审核中,请耐心等待审核通过”,以告知用户当前状态。

1.5.2 分配提示页面权限

接下来我们来到用户权限管理配置,给“游客”分配该页面。注册成功后会自动跳转。

1.6 扩展用户表字段(可选)

可选步骤:如需在注册时收集额外信息以辅助审核,可在用户表中新增相关字段(例如“申请原因”或“邀请码”)。若只需基础注册审核,此步骤可省略。

1.6.1 新增申请字段

进入【用户表】,为用户新增一个字段,用于记录用户在注册时填写的申请原因或邀请码信息。

1.6.2 在“用户认证”中开启字段

配置完成后,前往登录页面点击【注册账户】,即可看到注册表单中相应字段(若配置了可选项则显示,否则呈现基础表单)。

1.6.3 审核页面增加对应字段

我们在审核页面也加上这俩个字段,可以实时审核修改用户角色。


2. 方案二:不开放注册渠道,新增审核中间表

2.0 适用场景

适用于需要更加灵活和定制化注册审核流程的场景。

该方案通过独立的申请信息表、工作流设置和公开表单插件,实现从用户提交注册申请到自动创建用户的完整流程,核心步骤确保基本功能,后续可根据需求扩展更多功能。

2.1 前期准备(核心)

2.1.1 设计申请信息表

2.1.1.1 新建“申请信息”表
  • 创建表 在 NocoBase 后台新建一张表,用于存储用户注册申请信息。

  • 配置字段 为表添加以下字段,并确保字段类型和描述正确:

    Field display nameField nameField interfaceDescription
    IDidInteger系统自动生成,标识记录的唯一 ID
    UsernameusernameSingle line text申请者的用户名
    EmailemailEmail申请者的电子邮箱地址
    PhonephonePhone申请者的联系电话
    Full Namefull_nameSingle line text申请者的全名
    Application Reasonapplication_reasonLong text申请者填写的申请理由或说明
    User Typeuser_typeSingle select指定申请者将来的用户类型(如邮件注册、开放注册)
    StatusstatusSingle select申请当前的状态(如:待审核、已通过、已拒绝)
    Initial Passwordinitial_passwordSingle line text新用户初始密码(默认为 nocobase)
    Created atcreatedAtCreated at系统记录的创建时间
    Created bycreatedByCreated by系统记录的创建人
    Last updated atupdatedAtLast updated at系统记录的最后更新时间
    Last updated byupdatedByLast updated by系统记录的最后更新人
  • 预览表结构 参考下图确认表结构配置正确:

2.1.1.2 数据录入与展示
  • 配置审核界面 在主界面中配置一个“注册信息审核”管理界面,用于展示用户提交的申请信息。
  • 录入测试数据 进入管理界面,录入测试数据,确保数据能正确展示。

2.2 工作流设置

本部分介绍如何配置工作流,实现审核通过后自动创建新用户的功能。

2.2.1 创建审核工作流

2.2.1.1 新建工作流
  • 进入工作流界面 在 NocoBase 后台进入工作流配置页面,选择“新建工作流”。
  • 选择触发事件 可选择“操作后事件”“操作前事件”,此处以操作前事件为例。
  • 配置工作流节点 新建一个“新增用户”节点,将当前表单数据转换为新用户数据,并设置字段映射和处理逻辑。 参考图示:

2.2.2 设置表单审核按钮

2.2.2.1 添加“通过”与“拒绝”按钮

在申请信息表单中分别添加“审核通过”和“审核拒绝”两个按钮。

2.2.2.2 配置按钮功能
  • 配置“审核通过”按钮
    • 绑定至刚刚创建的工作流;
    • 提交时将【状态】字段的值设置为“审核通过”。 参考图示:
  • 配置“审核拒绝”按钮
    • 提交时将【状态】字段的值设置为“审核拒绝”。
2.2.2.3 设置按钮联动规则

为防止重复操作,设置联动规则:当【状态】不为【待审核】时隐藏按钮。 参考图示:

2.3 激活并配置公开表单插件

利用公开表单插件,使用户能通过页面提交注册申请。

2.3.1 激活公开表单插件

2.3.1.1 插件激活操作
  • 进入插件管理 在后台管理界面中找到并激活“公开表单”插件。 参考图示:

2.3.2 新建并配置公开表单

2.3.2.1 创建公开表单
  • 新建表单 在后台管理中创建一个公开表单,用于用户提交注册申请。
  • 配置表单元素 添加必要的表单元素(如用户名、邮箱、联系电话等),并设置相应的校验规则。 参考图示:

2.3.3 激活并配置公开表单插件(核心)

2.3.3.1 测试公开表单
  • 打开页面 访问公开表单页面,填写并提交申请数据。
  • 验证功能 检查数据是否正确进入申请信息表,并通过工作流审核后自动创建新用户。 参考测试效果:

2.4 后续拓展(可选步骤)

在完成基本注册与审核流程后,我们可根据需求扩展其他功能:

2.4.1 邀请码注册

  • 功能说明:通过设置邀请码来限制注册用户的范围和数量。
  • 配置思路:在申请表中增加邀请码字段,使用“操作前事件”,在提交之前对该字段进行合法性校验和拦截。

2.4.2 自动邮件通知

  • 功能说明:实现审核结果通知、注册成功等邮件自动发送。
  • 配置思路:结合 NocoBase 的邮件节点,在工作流中添加发送邮件操作。

若在操作过程中遇到任何问题,欢迎前往NocoBase社区交流或查阅官方文档。希望本指南能帮助您根据实际需求顺利实现用户注册审核,并根据需要灵活扩展。祝您使用顺利,项目成功!

× 放大图像