0

我定义了一个继承自环回内置用户模型的用户模型,并定义了与另一个模型的 hasMany 关系。我面临的问题是,无论我做什么,当我尝试从其余 api 访问关系时,我都会遇到未经授权的错误,即使我为用户模型定义了以下 ACL: json { "accessType": "READ", "principalType": "ROLE", "principalId": "$everyone", "permission": "ALLOW" }

任何想法?

如何公开我希望用户可以访问的用户模型的一些方法?在其他模型(不继承自 User 模型)上,我没有遇到这个问题。

谢谢

4

1 回答 1

1

该关系将一个方法注入到对象中,因此它需要访问才能执行该方法。当您授予它对 READ 的访问权限时,它仅适用于该模型的属性,而不适用于需要 EXECUTE 权限的方法。尝试这个:

{
  "accessType": "EXECUTE",
  "principalType": "ROLE",
  "principalId": "$everyone",
  "permission": "ALLOW",
  "property": "__get_relation"
}

将属性参数中的“relation”替换为实际的关系名称,将“get”替换为您希望此 ACL 授予访问权限的实际 http 方法。

您还可以通过像这样启动应用程序来调试 ACL:

$ DEBUG=loopback:security:acl slc run
于 2014-11-13T13:25:50.017 回答