【问题标题】:Azure blob storage, How to access all files content with Access TokenAzure blob 存储,如何使用访问令牌访问所有文件内容
【发布时间】:2018-09-26 13:41:11
【问题描述】:
我想知道是否可以这样做:
- 我有一个带有一些 html 网页的 blob 存储。该存储是私有的。我不能被设置为公共访问。只有拥有令牌的用户才能访问它。
可以使用基于 SAS 令牌的身份验证生成 URI 和查询字符串访问单个文件,但这仅适用于 1 个文件。 IE。我访问 index.html 页面,但是当我单击该页面上的链接时,访问令牌未传递,因此该子页面出现 403 错误。
是否有可能使该令牌允许所有子页面访问?
我想知道它是否可以实现。
【问题讨论】:
标签:
azure
blob
azure-storage
azure-blob-storage
azure-cdn
【解决方案1】:
假设:
- 访问令牌是指共享访问签名 (SAS) 令牌和
- 所有文件都在同一个私有容器中
当然可以访问子页面。
为此,您需要做的第一件事是在 blob 容器上而不是在单个文件(在您的情况下为 index.html)上创建 SAS 令牌。
由于该页面是 HTML 页面并且不是动态生成的,因此您需要做的是,当有人单击指向子页面的链接时,您需要使用 JavaScript 将该 SAS 令牌附加到该链接。
例如,如果有一个名为 index2.html 的子页面,并且当有人单击该链接时,使用 JavaScript 您将从您的主页的 URL 中读取查询字符串(本质上是 SAS 令牌),附加该SAS 令牌到链接,然后将用户重定向到该链接。