在运行时禁用注册(Angular + NestJS)



我正在开发一个后端(NestJS)和前端(Angular),在安装之后(数据库中没有用户),它允许管理员通过注册表单进行注册。管理员注册后,应用程序不允许其他用户注册,只能由管理员发出邀请。

我正在努力弄清楚Angular应用是如何在运行时识别注册是禁用的,并且不渲染注册表单的。

我认为在1)Angular应用程序做一个HTTPOPTIONS请求/signup和后端返回200400,如果它是启用或不启用,但这个解决方案可以搞砸由浏览器的请求由于CORS。或者,2)添加一个端点(例如/signup-enabled),让Angular应用可以执行GET,并检查注册是否启用。

我不喜欢上面两个解决方案的一点是,每次Angular应用启动时都会发出一个HTTP请求。

你建议用什么方法来解决这个问题?你知道其他的解决方法吗?

您可以考虑第三种情况。我认为,如果你不想显示一些消息说表单没有启用,因为admin是登录,你可以允许任何用户可以登录,并在你的后端简单返回一个401,里面有一个特殊的消息说拒绝的原因,你可以显示在你的表单提示。

一般来说,当我需要一个特殊的用例时,我更喜欢使用常见的错误代码和已经存在的端点,然后再创建一个新的。

相关内容

  • 没有找到相关文章

最新更新