我正在试用 Realm 移动平台,以确定它是否适合即将到来的项目。
我正在使用服务器管理员用户登录到我的示例应用程序,通过在SyncConfiguration
对象中提供不同的路径,我能够在本地和对象服务器中创建不同的 Realms。
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);
问题是,当我访问 Web 仪表板时,管理员似乎并不拥有他使用客户端应用程序创建的 Realms。
所以我的问题是:用户创建 N 个拥有的 Realm 的最佳方式是什么,这些领域可以通过管理访问权限来共享给其他用户?
当 Realm 文件第一次打开时,SDK 会向 Realm 对象服务器的认证服务发出访问令牌请求。这将查找此路径上的文件是否已存在,如果不存在,则创建该文件。仅当文件在当前用户范围内时,这些文件才属于这些文件。实现此目的的最简单方法是用户自行创建文件。
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