如何在记录级别保护数据?

时间:2015-12-03 11:10:03

标签: node.js loopbackjs strongloop

我对Strongloop没有太多经验,但也许有人可以让我朝着正确的方向前进。

在我的模型中,我有客户信息。客户必须能够访问自己的记录,但不能访问其他客户的记录。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

可以在模型JSON定义中轻松定义Strongloop ACL:

"acls": [
    {
      "accessType": "*",
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "DENY"
    },
    {
      "accessType": "EXECUTE",
      "permission": "ALLOW",
      "principalType": "ROLE",
      "principalId": "$owner",
      "property": "findById"
    }
]

ACL定义拒绝所有人访问该模型,并允许所有者阅读它。

请注意,必须有一个模型列userId才能获得buit-in $owner校长ID。

ACL定义文档:https://docs.strongloop.com/display/public/LB/Model+definition+JSON+file#ModeldefinitionJSONfile-ACLs

高级ACL控制的官方示例项目: https://github.com/strongloop/loopback-example-access-control