我无法找出执行权限更改的正确网址。在文档之后,我可以通过传递*
URL来成功更改所有领域的全局权限,但我无法获得特定的命名领域权限。我试图授予对另一个(管理员级别)用户创建的域的只读访问权限。
[RLMSyncPermissionChange permissionChangeWithRealmURL:@"realms://my.domain.com:9443/~/Realm-Name"
userID:@"5443d0cfc457b762e47855ffc3b0732d"
read:@YES
write:@NO
manage:@NO];
在服务器日志中显示此信息(在statusMessage字段中,statusCode为616):
error: permission: Error when processing PermissionChange(id='32455E8C-8...'):
The server is not authoritative for this URL.
我传递的URL与用于创建Realm的URL相同。我哪里错了?
答案 0 :(得分:1)
如果您已将Realm对象服务器部署到外部可访问的URL,则需要在密钥configuration.yml
下的auth:sync_hosts
中为此配置主机(如果需要)将这些外部URL与客户端权限API一起使用。
这可能如下所示:
auth:
sync_hosts:
- my.domain.com:9443
除此之外,服务器将始终确定自己对localhost
具有权威性。这也可以作为其IPv4变体127.0.0.1
和IPv6变体::
传递。
因此,您可以根据以下内容构建传递到RLMSyncPermissionChange
的网址:
[RLMSyncPermissionChange permissionChangeWithRealmURL:@"realms://localhost:9443/~/Realm-Name"
userID:@"5443d0cfc457b762e47855ffc3b0732d"
read:@YES
write:@NO
manage:@NO];