【发布时间】:2020-03-26 08:03:59
【问题描述】:
我正在使用 express 编写一个 Rest API,并且我有一个中间件来检查用户是否是管理员。但是,我想知道公司如何将新用户分配为管理员?他们是否编辑数据库记录并在那里更改角色?我想一个管理员可以让另一个用户管理员,但第一个管理员是如何创建的?有没有办法在前端做到这一点?
【问题讨论】:
标签: node.js mongodb rest express admin
我正在使用 express 编写一个 Rest API,并且我有一个中间件来检查用户是否是管理员。但是,我想知道公司如何将新用户分配为管理员?他们是否编辑数据库记录并在那里更改角色?我想一个管理员可以让另一个用户管理员,但第一个管理员是如何创建的?有没有办法在前端做到这一点?
【问题讨论】:
标签: node.js mongodb rest express admin
如果它是一个软件平台(意味着您的应用程序的所有用户的一个网址和数据库),那么第一个管理员用户通常是通过在服务器命令行控制台上运行命令来创建正确的记录。或者也许通过运行一次的安装脚本。这将创建第一个管理员用户,然后该用户登录并通过 UI 创建更多管理员用户。这通常只需要在项目的整个生命周期中完成一次,因此无需将其设为用户友好的过程。
但是,如果它是您安装自己的实例的服务器,通常会有一个设置向导,因为每次新安装都需要经过这个过程,因此值得努力使一些用户友好的东西。你去myapp.com/setup之类的地方,然后填写一些表格来设置第一个管理员用户并提供初始配置和首选项。设置第一个管理员用户后,此 setup 页面将无法再访问,因此无法以这种方式创建其他新管理员用户。
Wordpress 是交互式设置的一个很好的例子。 this video 的末尾有一个例子。
【讨论】:
通常当我在构建我的后端时,我会通过用户(路由)将我自己的名字输入用户(模型)来测试小狗。我使用 Postman 来注入我的信息进入端点,然后将其保存在(mongo)db上。您也可以随时使用地图集手动插入用户。 编辑:我的回答:使用 atlas 手动输入一个 json 文件,由您的客户(公司)的管理员用户选择。 EDIT2:你让我想到......可能存在声明这些东西的网络应用程序的初始化状态;例如,假设您正在创建一个会计管理工具,在公司首次初始化他们的新软件时,您可以请求此信息。
【讨论】: