【发布时间】:2019-12-28 15:02:29
【问题描述】:
我正在为我的公司开发一个内部管理系统。部分 API 路由会检查用户的角色,其余路由会检查用户的权限。
目前,我如何将用户的权限存储在 JWT 令牌中
{
"user": {
"name": "Oyster Lee",
"role": "root",
"image": ""
},
"OMS": 2147483647,
"WMS": 4095,
"iat": 1566536007,
"exp": 1567140807,
"iss": "Test"
}
我的许可是使用按位运算符。但它在每个系统中最多只能使用 31 种权限。我有超过 31 个,所以需要替换按位运算符。
除此之外,在我为用户分配新的权限或角色后,他必须一次又一次地注销并登录。
我在考虑是否应该在每次向路由发送请求时检查数据库以获得用户的权限。会不会导致应用变重?有什么优点和缺点吗?顺便说一句,我是 MySQL 作为我们的数据库。
前端还需要根据用户的权限或角色有条件地渲染。 我使用 Nuxt.js SPA 作为前端。
【问题讨论】:
标签: node.js express authentication jwt authorization