【问题标题】:Strongloop - HasAndBelongsToMany always returns 401Strongloop - HasAndBelongsToMany 总是返回 401
【发布时间】:2016-06-14 11:40:47
【问题描述】:

我正在尝试执行此请求:

PUT /api/cars/564d8e792583afef310affe3/categories/rel/suv-idcat

如果我以管理员身份登录,这可以正常工作,但如果我以其他角色登录,我会收到 401 响应。

我的汽车模型具有以下 ACL:

...
{
  "accessType": "EXECUTE",
  "principalType": "ROLE",
  "principalId": "admin",
  "permission": "ALLOW",
  "property": "__create__categories"
},
{
  "accessType": "EXECUTE",
  "principalType": "ROLE",
  "principalId": "admin",
  "permission": "ALLOW",
  "property": "__updateById__categories"
},
{
  "accessType": "EXECUTE",
  "principalType": "ROLE",
  "principalId": "admin",
  "permission": "ALLOW",
  "property": "__destroyById__categories"
}
...

现在,如果我为特定角色添加相同的 ACL 规则:

{
  "accessType": "EXECUTE",
  "principalType": "ROLE",
  "principalId": "StoreAdmin",
  "permission": "ALLOW",
  "property": "__create__categories"
},
{
  "accessType": "EXECUTE",
  "principalType": "ROLE",
  "principalId": "StoreAdmin",
  "permission": "ALLOW",
  "property": "__updateById__categories"
},
{
  "accessType": "EXECUTE",
  "principalType": "ROLE",
  "principalId": "StoreAdmin",
  "permission": "ALLOW",
  "property": "__destroyById__categories"
}
...

如果我点击以 StoreAdmin 用户身份登录的端点,则会收到 401 错误响应。

附:我已经看过这个:https://docs.strongloop.com/display/public/LB/Accessing+related+models,但没有“hasAndBelongsTo”关系

【问题讨论】:

    标签: node.js acl has-and-belongs-to-many strongloop


    【解决方案1】:

    我会自己回答。事实证明,对于hasManyAndBelongsTo 关系,方法名称与documentation 中为hasMany 关系声明的方法名称不同。事实上,它甚至没有记录。

    通过在调试模式下运行应用程序:DEBUG=loopback:security:*,我发现真正的方法名称是__link__categories

    【讨论】:

      猜你喜欢
      • 2016-05-22
      • 2018-04-03
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 2020-02-09
      • 2021-10-11
      相关资源
      最近更新 更多