Loopback как перезаписать ACL роли?

#javascript #node.js #strongloop #loopback

#javascript #node.js #strongloop #loopback

Вопрос:

Как открыть роль встроенной модели loopback только для администратора? Если я установлю «public»:true в model-config.json, тогда любой может запросить методы роли.

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

Мне нужен только пользователь с ролью «администратор» для CRUD.

Ответ №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
    })
  ]);