Realm JS получает записи, принадлежащие пользователю с правами администратора
Я занимаюсь разработкой приложения, в котором я использую Realm JS с тонко распределенными разрешениями. Я думаю, что это действительно огромная функция, и она намного лучше, чем использование разделенных областей. Я успешно реализовал разрешение на уровне записей, поэтому у меня есть одна таблица с разными записями, принадлежащими разным пользователям. Теперь я пытаюсь получить на стороне сервера и с правами администратора все записи данной таблицы, принадлежащие конкретному пользователю. Это возможно? Я не смог найти ничего полезного в документах
1 ответ
Вариант 1 - фильтр по пользователю
Этот параметр зависит от того, как вы настроили свои роли пользователя и как вы применяете их к объектам. Если вы используете роль __User по умолчанию, созданную для каждого пользователя, и создаете для нее свои разрешения, при условии, что у вас есть userId, вы можете запросить разрешения для объекта, чтобы найти их у конкретного пользователя.
например, получить первое разрешение на объект
let permission = object.permissions[0];
Имя роли будет:
let roleName = permission.role.name
roleName
будет в формате '__User:Id'
Итак, теоретически вы можете запросить это так (не проверено):
realm.objects('YourObject').filtered(
permissions.role.name == '__User: $ {id}');
,
Вариант 2 - войти как пользователь
Другой вариант, и то, что я делаю, это вход в систему как пользователь. Я использую JWT Auth, поэтому мне не нужен пароль. Я генерирую токен JWT для пользователя и логин. Затем я могу открыть область как этот пользователь, и будут доступны только записи этого пользователя.