【发布时间】:2022-01-15 03:10:56
【问题描述】:
让我们使用一个抽象域,用户可以在其中创建组、邀请其他用户并在这些组中分配权限。
示意图如下所示
[
{
"groupId": 1,
"name": "Group 1",
"users": [
{ "id": 1, "name": "User 1", "permissions": ["A", "B", "C"] }, // same
{ "id": 2, "name": "User 2", "permissions": ["A", "B"] }
{ "id": 3, "name": "User 3", "permissions": ["C"] }
]
},
{
"groupId": 2,
"name": "Group 2",
"users": [
{ "id": 4, "name": "User 4", "permissions": ["A", "B", "C"] },
{ "id": 5, "name": "User 5", "permissions": ["A", "B"] }
{ "id": 1, "name": "User 1", "permissions": ["C"] } // same
]
}
]
应用中有 5 个用户(从 1 到 5)。每个用户在他们的组(A、B、C)中都有权限。
问题是:在网络客户端的哪里存储这个权限?
我使用 React.js + Node.js 并通过 JWT 管理我的身份验证。是否可以在用户的 JWT 中有一个对象来存储每个组的权限。像这样的
假 JWT
{
"userId": 1,
"groups": [
{ "groupId": 1, "permissions": ["A", "B", "C"] },
{ "groupId": 2, "permissions": ["C"] }
]
}
我还希望在不注销用户的情况下即时更新用户权限
有什么正确的建议吗?
【问题讨论】:
标签: javascript reactjs permissions jwt