【问题标题】:loopback-component-storage acl 401 error环回组件存储 acl 401 错误
【发布时间】:2016-06-02 04:09:22
【问题描述】:

容器模型如下所示:

{
  "name": "container",
  "base": "Model",
  ...
  "acls": [
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "DENY",
      "accessType": "*"
    },
    {
      "principalType": "ROLE",
      "principalId": "admin",
      "permission": "ALLOW",
      "accessType": "WRITE"
    }
  ]
}

当我向其发布图像时,它会返回 401 错误。我确定我是以“管理员”用户身份登录的,因为我在 json 模型中使用相同的访问令牌和相同的 acl 发出了两个请求。对于第一个(不是容器)它可以工作,但对于容器一个则不行。

容器ACL有问题吗?

-----编辑-----

从 DEBUG=loopback:security:acl 开始返回:

---ACL---
model container
property *
principalType ROLE
principalId $everyone
accessType *
permission DENY
with score: 7495
---ACL---
model container
property *
principalType ROLE
principalId admin
accessType WRITE
permission ALLOW
with score: -1

"property": "*" 是 acl 中的默认值。

对于第一个请求(不是容器),它返回相同但 admin-write-allow 的分数比 $everyone-*-deny 高。

设置"score": -2 不起作用。

【问题讨论】:

    标签: node.js acl loopbackjs


    【解决方案1】:

    你没有定义一个属性(基本上是一个方法),所以我猜 ACl 分辨率给你的第一个比第二个更高的权重。

    "acls": [
    {
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "DENY",
      "accessType": "*"
    },
    {
      "principalType": "ROLE",
      "principalId": "admin",
      "property": "*", // Add this line
      "permission": "ALLOW",
      "accessType": "WRITE"
    }
    ]
    

    但是,有时 ACL 可能很难弄清楚。我建议使用debug string 来查看 ACL 系统究竟解决了什么问题:

    在窗户上:

    set DEBUG=loopback:security:acl && node .
    

    编辑:

    问题实际上来自 accessType(请求的端点是 EXECUTE 而不是 WRITE),因此 ACL 没有按预期解决。

    【讨论】:

    • 感谢调试提示。 "property": "*" 接缝是默认的。
    • 我用"property": "*" 试过了。分数一样,还是不行。
    • /containers/.../upload/containers/.../download/img.jpg 都返回 401 错误。没有acls它可以工作。所以端点是正确的。
    • 试试accessType: "*",我不确定这些端点是WRITE还是EXECUTE
    • 它是"accessType": "EXECUTE"。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 2016-07-01
    相关资源
    最近更新 更多