Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何设置ACL以允许everyone列出RESTAPI中的所有用户_Javascript_Strongloop_Loopbackjs - Fatal编程技术网

Javascript 如何设置ACL以允许everyone列出RESTAPI中的所有用户

Javascript 如何设置ACL以允许everyone列出RESTAPI中的所有用户,javascript,strongloop,loopbackjs,Javascript,Strongloop,Loopbackjs,我正在尝试使用REST API列出我的loopback 2.0应用程序中的所有用户,但出现以下错误: { "error": { "name": "Error", "status": 401, "message": "Authorization Required", "statusCode": 401, "stack": "...." } } 我手动将ACL添加到model-config.json文件中: "User": { "dataSo

我正在尝试使用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": "*"
        }
    ]
},
由于失败,我基于用户内置模型创建了一个模型:

{
    "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": "....."
  }
}
我感谢你的帮助

  • 我们应该允许您使用其他ACL进一步配置内置模型。这是环回的一个待办事项

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

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

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

    "user": {
        "dataSource": "db",
        "public": true
      },
    

    似乎环回ppl allso解决了这个问题:

    您可以使用DEBUG=loopback:security:*节点运行应用程序。获取ACL的调试信息。这可能会有所帮助。谢谢你的调试提示!这有助于我了解发生了什么,还有一个ACL的分数更高,因此我为“accessType”添加了一个单独的条目:“READ”而不是“accessType”:“*”,这给了我的ACL更高的分数。感谢您指出我们无法扩展内置模型的ACL。我的common/admin.json结果如下:{“name”:“admin”,“base”:“User”,“复数”:“Admins”,“properties”:{},“validations”:[],“relations”:{},“acl”:[{“principalType”:“ROLE”,“principalId”:“$everyone”,“permission”:“ALLOW”,“accessType”:“阅读”}],“方法”:[]}如果文档反映了这一点,那就太好了,b/c我差不多一年后才来,遇到了同样的问题,文档中没有警告过我。