我正在试用 Realm Mobile Platform 以确定它是否适合即将开展的项目。
我使用服务器管理员用户登录我的示例应用程序,通过在 SyncConfiguration
对象中提供不同的路径,我能够在本地和对象服务器中创建不同的 Realm 。
String realmUrl = String.format("realm://%1$s:%2$s/my_realm_name", OBJECT_SERVER_IP, BASE_PORT);
SyncConfiguration syncConfiguration = new SyncConfiguration.Builder(SyncUser.currentUser(), realmUrl).build();
Realm realm = Realm.getInstance(syncConfiguration);
问题是,当我访问网络仪表板时,管理员似乎不拥有他使用客户端应用程序创建的 Realm 。
所以我的问题是:用户创建 N 个拥有的 Realm 的最佳方式是什么,这些 Realm 可以通过管理访问权限共享给其他用户?
最佳答案
当第一次打开 Realm 文件时,SDK 会向 Realm 对象服务器的身份验证服务请求访问 token 。这将查找此路径中的文件是否已存在,如果不存在则创建它。在那里创建的文件只有在当前用户的范围内才会被拥有。实现此目的的最简单方法是用户自行创建文件。
as user ID "userA":
/~/my_realm_name => /userA/my_realm_name => owned
/userA/my_realm_name => /userA/my_realm_name => owned
/userB/my_realm_name => fails (no permissions)
/my_realm_name => fails (no permissions)
as user ID "admin" with administrator privileges:
/~/my_realm_name => /admin/my_realm_name => owned
/userA/my_realm_name => /userA/my_realm_name => unowned
/userB/my_realm_name => /userA/my_realm_name => unowned
/my_realm_name => /my_realm_name => unowned
关于java - 在具有权限的 Realm 对象服务器上创建新用户 Realm 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43902696/