我正在开发一个应用程序,我在其中使用具有精细分级权限的 Realm JS。我认为这是一个非常巨大的功能,它比使用分离领域要好得多。我成功实现了记录级权限,所以我有一张表,其中包含不同用户拥有的不同记录。现在我要做的是检索服务器端和管理员凭据,特定用户拥有的给定表的所有记录。那可能吗?我在文档中找不到任何有用的东西
问问题
85 次
1 回答
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 令牌并登录。然后我可以以该用户的身份打开领域,并且只有该用户的记录可用。
于 2018-10-24T23:23:25.573 回答