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