【发布时间】:2021-10-05 15:30:06
【问题描述】:
我的容器的访问级别是“私人(无匿名访问)”。我更喜欢这种访问级别,因为我只希望授权用户查看我的内容。但是,当我尝试通过容器 URL 访问文件时,我收到 ResourceNotFound 错误。
我猜有其他步骤可以验证请求的有效性。有人可以通过让我知道显示文件的步骤来帮助我吗?
我的前端是 Angular/HTML。
【问题讨论】:
标签: c# angular azure azure-blob-storage
我的容器的访问级别是“私人(无匿名访问)”。我更喜欢这种访问级别,因为我只希望授权用户查看我的内容。但是,当我尝试通过容器 URL 访问文件时,我收到 ResourceNotFound 错误。
我猜有其他步骤可以验证请求的有效性。有人可以通过让我知道显示文件的步骤来帮助我吗?
我的前端是 Angular/HTML。
【问题讨论】:
标签: c# angular azure azure-blob-storage
这是预期的行为。如果 blob 位于具有 Private ACL 的 blob 容器中,则不能直接访问它。
您需要做的是在具有至少read 权限的 blob 上创建 Shared Access Signature (SAS),并使用 blob 的 SAS URL。您可以在 blob 上创建 Service SAS。
通常的工作方式是,您将在后端 API 中的 blob 上创建一个 SAS,然后将该 SAS 令牌/URL 传递到您的前端。
【讨论】:
Therefore, I should be able to take this URL and paste it in any browser to view the content. Right ? - 没错。 How can I prevent unauthorised users from accessing this content ? - 请参阅 link 了解使用 SAS 时的最佳实践。