DocumentDb REST权限和资源令牌

时间:2016-11-07 21:13:36

标签: rest azure permissions azure-cosmosdb

我正在尝试为整个集合创建只读权限。我的服务器检索用户和相关资源令牌的权限,将其发送到客户端(电话)应用程序,然后手机应用程序可以自己检索一些文档。

应该是直截了当的。

根据Azure文档中的create a permission link,文档说明了这一点:

  

与权限关联的资源的完整可寻址路径。例如,dbs / ruJjAA == / colls / ruJjAM9UnAA = /。

但样本显示了这个:

{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}

与我的项目的其余部分一样,样本显然是基于ID的。

FWIW,我测试了两者,如果您根据id创建权限,就像示例一样,您会得到禁止的响应。

如果您使用完整资源创建权限,那么它可以正常工作。

希望我的整整一天的排序可以帮助某人。 :)

我知道,如果我不将这个问题作为一个问题发布,那么有人会感到沮丧,所以这是我的问题:

这是文档中的错误,还是代码中的疏忽,未来的增强或对我的noobness的在线证词,因为我以某种方式做错了?

TIA。

1 个答案:

答案 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/