我正在node js
中创建路由。我正在为仪表板创建路线。
JWT token
。后端的管理员如何验证路由?
答案 0 :(得分:4)
您会受到此逻辑的启发,在此不再赘述。请按照以下步骤操作(可能会有帮助):
首先)将role
字段定义为 DB mongoDB
或Mysql
(例如):
enum: ['user', 'admin']
第二)创建函数checkRole(role)
用于登录后检查角色并验证jwt,然后获取用户
第三)为管理面板创建单独的路由(例如):
router.route('/admin-panel').use(authController.checkRole('admin'))
答案 1 :(得分:1)
您可以在JWT中放置授权标志。当用户登录时,您的服务器会生成相应的JWT,其中包含认证信息(即userId
)。您可以在令牌中添加其他授权信息(即auth
)。
基于auth
字段,您的服务器可以识别请求是由一般用户还是管理员发送的。当然,保护JWT免受劫持是另一回事。