当前位置: 首页 > 知识库问答 >
问题:

我们如何区分管理员和用户的路线?

微生欣怡
2023-03-14

我正在节点js中创建路由。我正在为仪表板创建路由。

  1. 用户登录并获取JWT令牌
  2. 通过发送令牌,用户可以访问与用户相关的一些路由(编辑、删除、注销路由等)
  3. 但是对于管理员,我想创建可以查看用户列表、编辑或删除用户、检查用户注销时间的路由。我还设置了表中的标志,以识别用户或管理员

如何在后端验证管理员的路由?

共有2个答案

鄂伟兆
2023-03-14

您可以将您的授权标志放在您的JWT中。当用户登录时,您的服务器会生成相应的JWT,其中包含身份验证信息(即userId)。您可以在令牌中添加额外的授权信息(即auth)。

根据auth字段,服务器可以识别请求是由普通用户还是管理员发送的。当然,保护JWT免遭劫持是另一回事。

锺超英
2023-03-14

你可以从这个逻辑中得到启发,这里不再赘述。遵循以下步骤(可能会有帮助):

首先)将角色字段定义为DBmongoDBMysql(例如):

enum: ['user', 'admin']

其次,在登录并验证jwt之后,为检查角色创建一个函数< code>checkRole(role),然后获取用户

第三)为管理面板创建单独的路径(例如):

router.route('/admin-panel').use(authController.checkRole('admin'))
 类似资料:
  • 问题内容: 我正在尝试获取Django Admin界面来显示有关我的个人资料的信息。它显示我的所有用户,但不显示个人资料信息。我不太确定如何使它正常工作。 我在Google快速搜索后找到了以下代码: 但是,我认为它没有用。当我登录到管理页面时,我看到“用户”,“组”和“站点”。我单击用户,然后看到所有用户的列表,但没有任何个人资料的迹象。单击某个用户会显示有关该用户的信息,但仍然没有个人资料信息。

  • 我正在为我的考试创建一个Java项目。该项目要求我使用面向对象编程来做一个类似groupon的程序。它要求我实现一个销售打折产品的程序。我有假期,有饭局,有正常对象。我决定创建一个超类产品,然后扩展它,创建其他三个类,晚餐、假日和对象。但是它还要求我管理产品目录,让每个产品都有一个唯一的标识符,我该怎么做呢?即使我创建了一个Catalog类,用一个ArrayList管理产品,我怎么能给每个元素添加

  • 我们提供了一个用于模型管理和策略管理的门户网站 Casdoor 还有第三方门户管理项目,使用Casbin作为授权引擎。 您可以基于这些项目建立您自己的 Cabin 服务。GoJavaNode.jsPythonPHP 项目 作者 前端 后端 说明 Casdoor Casbin React + Ant Design Beego 基于 Beego + XORM + React go-admin-team

  • 我的应用程序需要2个防火墙,一个用于管理员,另一个用于用户。在my security.yml I config中: 我不知道这个配置是否正确。当我从主区域登录时,一切都正常,但当我从管理员登录时,它会将我重定向到主路径,而不是默认的目标路径。我尝试将提供程序更改为自定义提供程序(例如在内存中)以重新检查管理员防火墙,但我仍然通过用户从fos_userbundle提供程序登录。你能帮助我吗?

  • GitHub的文档描述了对组织的不同访问级别,但我无法找到如何实际更改用户对组织的访问级别。 如何使组织成员成为管理员?

  • 我正在尝试授权我的多租户saas Web应用程序与Office 365帐户通信。嗯,显然我的应用程序需要管理员同意,因为权限,所以我必须实现它。 但我也希望用户也同意,这样他就可以进入他的帐户并在管理员同意后单击“授权”。 我该如何实现?已经有一个授权流,但它只是授权每个用户(当时完全不知道管理员同意的想法)。当非管理员尝试授权其帐户时,他会收到错误“此操作只能由管理员执行”。当管理员完成此操作时