Loopback ACL: создайте пользователя с ролью

Я изо всех сил пытаюсь расшифровать документацию по созданию пользователя с ролью acl. Я хотел бы создать 2 роли «администратор» и «пользователь», аналогичные тому, что указано в документации. Однако я не могу найти документацию по API для Role.create. Приведенный пример также не имеет для меня никакого смысла. Затем я хотел бы создать пользователя через ТОЛЬКО REST API, а затем назначить пользователю роли администратора или пользователя. Это кажется простым, но я чешу голову. Может ли кто-нибудь дать некоторые рекомендации о том, как начать?


person hubbardr    schedule 05.05.2014    source источник


Ответы (3)


Я знаю, что эта часть документации нуждается в некоторой доработке, и я работаю над ее улучшением как можно скорее. Мы также собираемся очистить и улучшить документацию по API.

Ролевая модель наследует все методы CRUD от базового объекта DataModel: http://apidocs.strongloop.com/loopback/#datamodel-new-datamodel. Так, например, Role.create() — это то же самое, что и DataModel.create().

То же самое верно и для REST API. Ролевой REST API задокументирован здесь: https://docs.strongloop.com/display/public/LB/Role+REST+API. Вы заметите, что каждая конечная точка в этом документе связана со статьей «Модель REST API», в которой содержится более подробная информация.

-Рэнд

Технический писатель, StrongLoop

person RandM    schedule 14.05.2014
comment
Нужно ли настраивать приложение для создания конечной точки ролей? Не видеть его из коробки. Если я создам новую роль, могу ли я использовать инструмент командной строки acl и указать имя новой роли? Мне очень трудно понять концепции здесь. Я относительно новичок в Node (поэтому, возможно, я больше склоняюсь к строке acl cmd или API отдыха). Во всех примерах приложений и документации используется динамическая роль (владелец, все и т. д.). У меня должна быть роль администратора, которая имеет доступ к данным независимо от владельца. Мне нравится инструмент acl для устранения многих сложностей, но он просто не делает то, что мне нужно. - person hubbardr; 15.05.2014
comment
Я разместил ответ, который искал. Я нигде не видел в документах, где бы явно указывалось, что определенные модели не являются общедоступными, но теперь, когда я это вижу, я понимаю, почему они не являются общедоступными по умолчанию. Имеет смысл ... просто не было очевидно без некоторого копания. - person hubbardr; 15.05.2014
comment
Также было бы неплохо иметь пример того, каким должно быть тело json роли при использовании REST API роли. Или ссылку на схему ролевой модели, которую необходимо использовать. - person hubbardr; 15.05.2014

А нашел. В файле models.json необходимо сделать ролевую модель общедоступной, чтобы она отображалась как конечная точка Rest. После определения и настройки acl вам, вероятно, следует установить для него значение false.

...
"role": {
    "dataSource": "db",
    "public": true,
    "options": {
      "base": "Role",
      "relations": {
        "principals": {
          "type": "hasMany",
          "model": "roleMapping",
          "foreignKey": "roleId"
        }
      }
    }
  },
...
person hubbardr    schedule 15.05.2014
comment
где этот model.json? - person Aakash; 27.07.2017
comment
в npm_modules/loopback/common/models - person charsi; 21.02.2018

Вы также можете найти примеры использования по адресу https://github.com/strongloop/loopback/blob/master/test/role.test.js

person Raymond Feng    schedule 14.05.2014