ToolJet 自助注册(Self Sign-Up)配置指南:实例级与工作区级启用详解

发布时间:2026/9/13 18:02:57

ToolJet 自助注册(Self Sign-Up)配置指南:实例级与工作区级启用详解 ToolJet 自助注册Self Sign-Up配置指南实例级与工作区级启用详解【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetToolJet 的 Sign-Up自助注册功能允许管理员通过公开的注册 URL 让用户直接注册加入无需逐一发送邀请。本文基于 ToolJet 3.0.0-LTS 版本文档结合后端源码onboarding/service.ts、login-configs/service.ts详解 Self-Hosted 版本中如何在**实例级Instance Level与工作区级Workspace Level**启用注册、配置允许域名、理解注册后的角色分配与底层校验逻辑帮助 Super Admin 与 Workspace Admin 快速落地用户自主加入的接入方案。一、自助注册机制概览在 ToolJet 中自助注册self sign-up让用户通过注册 URL 自行创建账号替代传统的管理员邀请 激活链接流程。对于Self-Hosted 版本启用注册可在两个层级进行配置层级操作角色用户注册后分配的角色注册入口实例级Instance LevelSuper Admin新建个人工作区Personal Workspace并赋予该用户Workspace Admin角色https://app.corp.com/signup工作区级Workspace LevelAdmin加入对应工作区并赋予该用户End User角色https://app.corp.com/login/nexus登录页含注册入口两个层级默认情况下Enable Signup开关均为关闭状态需要管理员显式开启。此外两个层级都支持通过Allowed Domains允许域名限制可注册的邮箱域名若不填写任何域名则任何持有注册 URL 的人都能注册。从数据模型看注册开关对应 organization.entity.ts 中的enable_sign_up字段enableSignUp而允许域名则对应password_allowed_domains/password_restricted_domains字段。实例级设置则存储在 Instance Settings 中见 instance-settings/constants/index.ts 中的ENABLE_SIGNUP、ALLOWED_DOMAINS、ALLOW_PERSONAL_WORKSPACE等枚举键。二、实例级启用注册Instance Level所需角色Super AdminSuper Admin 可在实例级启用注册。当用户通过实例级自助注册加入实例时系统会自动为该用户创建一个新的个人工作区Personal Workspace并为其分配Workspace Admin 角色。操作步骤点击仪表盘左下角的设置图标⚙️。进入Settings Manage instance settings。 示例 URLhttps://app.corp.com/instance-settings/manage-instance-settings确认已允许个人工作区Allow personal workspace。此开关位于实例设置中对应后端INSTANCE_USER_SETTINGS.ALLOW_PERSONAL_WORKSPACE见 instance-settings/constants/index.ts。只有允许个人工作区用户实例级自助注册后系统才能为其创建独立的个人工作区。进入Instance login标签页。 示例 URLhttps://app.corp.com/instance-settings/instance-login填写Allowed domains允许域名。可输入多个域名以逗号分隔。例如corp.com, example.com, tooljet.com。如果不填写允许域名则任何拥有注册 URL 的人都可以注册到该实例。打开Enable signup开关。默认情况下该开关是关闭的。点击页面底部的Save changes按钮保存配置。保存后用户即可在 ToolJet 部署 URL 上直接注册 示例 URLhttps://app.corp.com/signup注册页面包含姓名Name、邮箱Email、密码Password三个必填项同时提供 Google 等已启用 SSO 的一键注册入口。实例级注册的源码级原理从后端实现看实例级注册开关的默认值直接受环境变量控制。在 instance-settings/constants/index.ts 的getDefaultInstanceSettings()中[INSTANCE_SYSTEM_SETTINGS.ENABLE_SIGNUP]: process.env.DISABLE_SIGNUPS false ? true : false,即只有显式设置DISABLE_SIGNUPSfalse时实例级注册默认才为开启状态否则默认关闭。同理在 login-configs/service.ts 的getInstanceSSOConfigs()中form: { enable_sign_up: this.configService.getstring(DISABLE_SIGNUPS) ! true, enabled: true, }, enableSignUp: this.configService.getstring(DISABLE_SIGNUPS) ! true,可以看到实例级注册开关最终读取的是DISABLE_SIGNUPS环境变量。用户提交注册请求后后端入口OnboardingService.signup()见 onboarding/service.ts会依次执行如下校验首先检查DISABLE_SIGNUPS是否为true是则直接抛出NotAcceptableException拒绝注册当请求未携带organizationId即实例级注册时调用validatePasswordDomain(email, undefined, undefined, ...)对邮箱域名进行校验不匹配则抛出ForbiddenExceptionThis login method is not available for your domain...校验通过后若用户不存在则在默认工作区或新工作区中创建用户createUserInDefaultWorkspace/createUserInWorkspace。三、工作区级启用注册Workspace Level所需角色AdminWorkspace Admin 可在工作区级启用注册。当用户通过工作区级自助注册加入时该用户会被加入对应工作区并分配End User 角色即普通成员不具备管理权限。操作步骤进入Workspace settings Workspace login。 示例 URLhttps://app.corp.com/nexus/workspace-settings/workspace-login填写Allowed domains允许域名。同样支持多个域名以逗号分隔例如tooljet.com, tooljet.ai, corp.com。如果不填写允许域名则任何拥有登录 URL 的人都可以注册到该工作区。打开Enable signup开关。默认情况下该开关是关闭的。点击Save changes按钮保存配置。复制Login URL并分享给用户。工作区登录 URL 的格式为https://app.corp.com/login/nexus其中nexus是该工作区的 slug。保存后用户打开该登录 URL 即可看到登录页面页面上会显示Sign-Up 选项用户可从登录页导航到注册页并自助注册。工作区级注册的源码级原理工作区级注册开关对应 organization.entity.ts 中的enable_sign_up字段。管理员通过LoginConfigsService.updateGeneralOrganizationConfigs()见 login-configs/service.ts更新配置该方法接收并落库的字段包括const { domain, passwordAllowedDomains, passwordRestrictedDomains, enableSignUp, inheritSSO, automaticSsoLogin } params; const updatableParams { domain, passwordAllowedDomains, passwordRestrictedDomains, enableSignUp, inheritSSO, automaticSsoLogin, };其中enableSignUp即注册开关passwordAllowedDomains/passwordRestrictedDomains为允许/限制的邮箱域名。入参校验定义在 dto/login-configs.dto.ts 的LoginConfigsUpdateDto中domain为可选字符串且最长 250 字符enableSignUp、automaticSsoLogin、inheritSSO均为可选布尔值。当用户通过工作区注册链接提交注册时OnboardingService.signup()会走带organizationId的分支见 onboarding/service.tsif (organizationId) { signingUpOrganization await this.organizationRepository.get(organizationId); ... const { enableSignUp, passwordAllowedDomains, passwordRestrictedDomains } signingUpOrganization; if (!enableSignUp) { throw new ForbiddenException(Workspace signup has been disabled. Please contact the workspace admin.); } if (!(await validatePasswordDomain(email, passwordAllowedDomains, passwordRestrictedDomains, ...))) { throw new ForbiddenException(This login method is not available for your domain...); } }也就是说工作区级注册会先校验工作区自身的enableSignUp开关再校验邮箱域名是否命中passwordAllowedDomains白名单、是否被passwordRestrictedDomains黑名单拦截。对于 ToolJet CE社区版当用户通过实例级 URL 注册且存在默认工作区时还会额外校验默认工作区的enableSignUp是否开启见signup()中isCE !defaultWorkspace.enableSignUp分支未开启同样抛出ForbiddenException。四、实例级与工作区级如何协同两种层级的注册开关并非互斥而是作用于注册请求的不同阶段带工作区上下文organizationId的注册优先校验目标工作区的enableSignUp与域名配置注册成功后用户加入该工作区并获得End User角色不带工作区上下文的注册实例级 URL/signup校验实例级DISABLE_SIGNUPS/ENABLE_SIGNUP设置与实例级允许域名注册成功后系统为该用户创建个人工作区并授予Workspace Admin角色。因此典型的使用场景是实例级开启注册 允许个人工作区让员工访问公司 ToolJet 域名即可自助开通个人工作区同时各工作区 Admin 按需开启工作区级注册配合工作区专属的 Login URL/login/workspace-slug定向吸纳成员。两者都可通过 Allowed Domains 将注册范围限定在企业邮箱域名内从源头拦截外部账号。五、常见问题与排障基于 onboarding/service.ts 与 login-configs/service.ts 中的校验逻辑以下是自助注册过程中可能遇到的典型报错与处理建议现象 / 报错原因处理建议实例级注册被拒NotAcceptableException环境变量DISABLE_SIGNUPStrue在部署环境中设置DISABLE_SIGNUPSfalse或在实例设置中开启Enable signupWorkspace signup has been disabled. Please contact the workspace admin.目标工作区的enableSignUp开关未开启由 Workspace Admin 在Workspace settings Workspace login中开启Enable signupThis login method is not available for your domain. Please contact admin or try another method.注册邮箱域名不在允许列表中或被限制域名拦截检查 Allowed domains 配置实例级或工作区级将用户邮箱域名加入白名单或移除黑名单中的域名实例级注册提示默认工作区禁止注册CE 版默认工作区Default Workspace的enableSignUp未开启由 Super Admin 在默认工作区的工作区设置中开启注册开关注册后未进入预期工作区使用了实例级注册 URL系统创建了个人工作区若目标是加入指定工作区应使用该工作区的 Login URL/login/slug完成注册此外需注意实例级注册依赖Allow personal workspace开关INSTANCE_USER_SETTINGS.ALLOW_PERSONAL_WORKSPACE若该开关被关闭实例级自助注册将无法正常创建个人工作区请在第 3 步中务必确认其为开启状态。六、相关资源用户管理文档目录docs/versioned_docs/version-3.0.0-LTS/user-management注册流程核心实现server/src/modules/onboarding/service.ts登录配置更新与实例配置读取server/src/modules/login-configs/service.ts工作区注册开关与域名字段模型server/src/entities/organization.entity.ts实例级设置枚举与默认值含DISABLE_SIGNUPSserver/src/modules/instance-settings/constants/index.ts登录配置更新 DTO字段校验规则server/src/dto/login-configs.dto.ts【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/13 18:02:57

常见的系统生物学平台——单细胞转录组测序及分析

一、技术概述在单个细胞的水平之上, 捕获mRNA, 构建文库, 并且进行高通量测序, 以此解析细胞基因表达谱, 这一技术被称作单细胞转录组测序, 它突破了传统bulk测序“细胞群体平均信号”的局限, 能够区分细胞异质性, 鉴定稀有细胞, 解析细胞分群/分化轨迹, 挖掘标记基因, 在肿瘤、…

2026/9/13 18:58:00

Python实现数据库到Excel的高效批量导出方案

1. 项目背景与需求分析在日常数据处理工作中,我们经常需要将数据库中的大量数据导出到Excel文件进行进一步分析或共享。手动操作不仅效率低下,而且容易出错。Python作为数据处理领域的利器,配合适当的库可以轻松实现数据库到Excel的批量导出功…

2026/9/13 18:58:00

CAN超时丢包抖动不是故障,是车规级容错机制在工作

1. 为什么CAN报文“超时、丢包、抖动”不是故障,而是你没吃透车规级容错设计的底层逻辑 “CAN报文超时了”“总线上丢了几帧”“信号抖动太大,诊断仪读不到稳定值”——这些话我听工程师在产线、测试台架、售后维修现场说了不下几百遍。每次听到&#xf…

2026/9/13 18:58:00

导师严选!盘点2026年倾心之选的AI论文软件

一天写完毕业论文在2026年已不再是天方夜谭。以下是2026年最炸裂、实测能大幅提速的AI论文软件,覆盖全流程生成、文献处理、降重润色、格式排版四大核心场景,帮你高效搞定论文。 一、全流程王者:一站式搞定论文全链路(一天定稿首选…

2026/9/13 18:58:00

Appium 项目发展史:从 iOSAuto 到跨平台自动化生态

Appium 项目发展史:从 iOSAuto 到跨平台自动化生态 【免费下载链接】appium Cross-platform automation framework for all kinds of apps, built on top of the W3C WebDriver protocol 项目地址: https://gitcode.com/GitHub_Trending/ap/appium 导读 本文…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码