Loopback如何覆盖角色ACL?

时间:2016-10-14 11:36:32

标签: javascript node.js strongloop loopback

如何打开loopback内置模型仅针对admin的角色?如果我在model-config.json中设置" public":true,那么任何人都可以查询Role方法。

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

我只需要有角色的用户" admin"到CRUD。

1 个答案:

答案 0 :(得分:1)

这就是我解决这个问题的方法。 在root.js中

Promise.all([
    ACL.findOrCreate({
      model: Role.modelName,
      accessType: ACL.ALL,
      principalType: ACL.ROLE,
      principalId: '$everyone',
      permission: ACL.DENY,
      property: ACL.ALL
    })
    , ACL.findOrCreate({
      model: Role.modelName,
      accessType: ACL.ALL,
      principalType: ACL.ROLE,
      principalId: 'admin',
      permission: ACL.ALLOW,
      property: ACL.ALL
    })
  ]);