如何设置 ACL 以允许每个人列出 REST API 中的所有用户

2024-02-14

我尝试使用 REST API 列出我的 Loopback 2.0 应用程序中的所有用户,但收到以下错误:

{
  "error": {
    "name": "Error",
    "status": 401,
    "message": "Authorization Required",
    "statusCode": 401,
    "stack": "...."
  }
}

我手动将 ACL 添加到 model-config.json 文件中:

"User": {
    "dataSource": "db",
    "acls": [
        {
            "principalType": "ROLE",
            "principalId": "$everyone",
            "permission": "ALLOW",
            "accessType": "*"
        }
    ]
},

由于失败,我创建了一个基于 User 内置模型的模型:

{
    "name": "Admin",
    "base": "User",
    "properties": {},
    "validations": [],
    "relations": {},
    "acls": [
        {
            "principalType": "ROLE",
            "principalId": "$everyone",
            "permission": "ALLOW",
            "accessType": "*"
        }
    ],
    "methods": []
}

但在 REST API 中我仍然遇到同样的问题:

{
  "error": {
    "name": "Error",
    "status": 401,
    "message": "Authorization Required",
    "statusCode": 401,
    "stack": "....."
  }
}

我很感激任何帮助。 =)


  1. 我们应该允许您使用额外的 ACL 进一步配置内置模型。这是 LoopBack 的待办事项。

  2. 您可以在 common/user.json 中对内置 User 模型进行子类化,如图所示。

    { “名称”:“用户”, “基地”:“用户”, “复数”:“用户” }

然后,您需要通过向 server/model-config.json 添加条目将其公开给 REST,例如:

"user": {
    "dataSource": "db",
    "public": true
  },
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置 ACL 以允许每个人列出 REST API 中的所有用户 的相关文章

随机推荐