Loopback如何覆盖Role ACL?

Loopback how to overwrite Role ACL?

如何开启loopback内置模型Role only for admin?如果我在 model-config.json 中设置 "public":true 那么任何人都可以查询 Role 方法。

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

我只需要具有 "admin" 角色的用户进行 CRUD。

我就是这样解决这个问题的。 在 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
    })
  ]);