2017-01-17 3 views
0

Я создал модель задачи, в которой факультативно хранится информация о ее владельце, чтобы сделать ее частной задачей. Частная задача видна только владельцу.Loopback: проверка пользователя удаленным способом

Теперь я хочу проверить это свойство и сравнить его с текущим аутентифицированным пользователем в пользовательских удаленных методах, которые я пишу.

Возможно ли это в Loopback?

+0

Есть ACL проверки для этого. Проверьте https://loopback.io/doc/en/lb2/Controlling-data-access.html для документов ACL. Вы можете использовать $ owner или создать для этого собственные роли. – kamal0808

ответ

0

Loopback имеет очень хорошие функции ACL, предназначенные для проверки этого вида разрешений.

Предположим, что ваше имя модели - PrivateTask, в котором хранится информация о его владельце, теперь для добавления разрешения, чтобы только владелец мог это видеть, установив ACL следующим образом.

модели/частный task.json

{ 
    ... 
    ... 
    "acl":[ 
     { 
      "accessType": "*", 
      "principalType": "ROLE", 
      "principalId": "$everyone", 
      "permission": "DENY" 
     }, 
     { 
     "accessType": "*", 
     "principalType": "ROLE", 
     "principalId": "$owner", 
     "permission": "ALLOW" 
     } 
    ] 

Здесь первый с основным идентификатором $everyone с разрешения DENY будет отрицать all kinds of user кто хочет открыть model. Второе разрешение с ролью $owner позволит получить доступ к своим данным only owner.

Для получения дополнительной информации см https://loopback.io/doc/en/lb2/Controlling-data-access.html