我正在尝试为整个集合创建只读权限。我的服务器检索用户和相关资源令牌的权限,将其发送到客户端(电话)应用程序,然后手机应用程序可以自己检索一些文档。
应该是直截了当的。
根据Azure文档中的create a permission link,文档说明了这一点:
与权限关联的资源的完整可寻址路径。例如,dbs / ruJjAA == / colls / ruJjAM9UnAA = /。
但样本显示了这个:
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}
与我的项目的其余部分一样,样本显然是基于ID的。
FWIW,我测试了两者,如果您根据id创建权限,就像示例一样,您会得到禁止的响应。
如果您使用完整资源创建权限,那么它可以正常工作。
希望我的整整一天的排序可以帮助某人。 :)
我知道,如果我不将这个问题作为一个问题发布,那么有人会感到沮丧,所以这是我的问题:
这是文档中的错误,还是代码中的疏忽,未来的增强或对我的noobness的在线证词,因为我以某种方式做错了?
TIA。
答案 0 :(得分:0)
您需要提供完整路径,例如dbs / volcanodb / colls / volcano1(使用name / id或dbs / ruJjAA == / colls / ruJjAM9UnAA = /时没有尾随斜杠=(使用自链接时带斜杠)简单地证明这个名字就像volcano1一样,不起作用,因为帐户中可能有多个volcano1集合。这里有更多关于自我链接的内容:https://azure.microsoft.com/en-us/blog/azure-documentdb-bids-fond-farewell-to-self-links/。