如何在 Loopback 3 中定义管理员角色?

How can I define admin role in Loopback 3?

我在 customers.json 中有这个模型,acls:

"acls": [
{
  "accessType": "*",
  "principalType": "ROLE",
  "principalId": "$everyone",
  "permission": "DENY"
},
{
  "accessType": "READ",
  "principalType": "ROLE",
  "principalId": "admin",
  "permission": "ALLOW",
  "through": "RoleMapping"
}
]

我有这个基于环回用户的用户模型:

{
 "name": "userModel",
 "base": "User",
 ...
}

"relations": {
"roles": {
  "type": "hasMany",
  "model": "Role",
  "foreignKey": "principalId"
}
},

我在http://localhost:3000/explorer中定义了RoleMapping:

{
 "id": "58b82f1dbd7b9f1a601646cf",
 "principalType": "USER",
 "principalId": "58b82ec9bd7b9f1a601646ce",
 "roleId": "5570fb69a1227c8c039293da"
 }

但是当我尝试显示客户时,总是出现 401 Unauthorized 错误。 如果有人能帮助我,我将非常感激。

你在 Loopback Explorer 中设置了 Token 了吗?

当您在 Loopback 中启用 ACL 时,您必须使用端点登录 /user/login

{"username":"john", "password": "abc123"}

然后将响应中的 id 复制并粘贴到令牌字段中。