Azure Blob存储,如何使用访问令牌访问所有文件内容

时间:2018-09-26 13:41:11

标签: azure blob azure-storage azure-storage-blobs azure-cdn

我想知道是否可以这样做: -我有一些HTML网页的Blob存储。该存储是私有的。我无法设置为公共访问权限。只有具有令牌的用户才能访问它。

可以使用基于SAS令牌的身份验证生成URI和查询字符串来访问单个文件,但仅适用于1个文件。即我访问了index.html页面,但是当我单击该页面上的链接时,未传递访问令牌,因此该子页面出现403错误。

是否有可能使令牌允许所有子页面访问? 我不知道这是否可以实现。

1 个答案:

答案 0 :(得分:1)

假设:

  1. 用访问令牌表示共享访问签名(SAS)令牌和
  2. 所有文件都在同一个私有容器中

当然可以访问子页面。

为此,您需要做的第一件事是在blob容器上而不是在单个文件上创建SAS令牌(在您的情况下为index.html)。

由于该页面是HTML页面,并且不是动态生成的,因此您需要做的是当某人单击子页面的链接时,需要使用JavaScript将SAS令牌附加到链接。

例如,如果有一个名为index2.html的子页面,并且当有人单击该链接时,使用JavaScript您将从您的主页的URL(本质上是SAS令牌)中读取查询字符串,然后附加SAS令牌链接到该链接,然后将用户重定向到该链接。