Realm JS获取具有管理员用户的用户拥有的记录

时间:2018-10-24 13:52:54

标签: realm realm-mobile-platform realm-js

我正在开发一个使用Realm JS且具有良好分级权限的应用程序。 我认为这是一个非常巨大的功能,它比使用分离的领域更好。 我成功实现了记录级别权限,因此我有一个表,其中的不同用户拥有不同的记录。 现在,我想做的是在服务器端并使用管理员凭据来检索特定用户拥有的给定表的所有记录。 那可能吗?我在文档中找不到任何有用的东西

1 个答案:

答案 0 :(得分:1)

选项1-按用户过滤

此选项取决于您如何设置用户角色以及如何将其应用于对象。如果您使用为每个用户创建的默认__User角色,并使用该用户创建默认的__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令牌。然后,我可以以该用户身份打开领域,只有该用户的记录可用。