特定用户的 Azure 下载

Azure Download for specific Users

项目ASP.NET

我将使用 Azure 进行存储。问题(要求):

  1. 在我的项目中,我让我的注册用户下载文件。但我不希望用户将此下载 link 分享给未注册的人(例如:我给注册用户的下载 link 只能在他们的计算机上下载)。

  2. 我只给注册用户显示下载link,注册用户可以下载我给他们的文件

  3. 没有人可以删除我的文件

问题 1:这完全取决于您的应用程序,但是...如果您将直接 links 提供给 Azure 存储中的 blob,您将需要使用共享访问签名(或策略)保护它们。这样,您可以给某人一个过期的 link(例如,在您发出 link 后 10 分钟)。然后,如果有人送出 link,它不会工作很长时间。无法将 link 的使用限制在特定计算机上。现在,如果您只是将内容从 blob 流式传输到您的应用程序,然后从您的应用程序流式传输到用户,您可能会有更多的控制权,因为您不会真正生成可重用的 link。但这会有缺点(例如 运行 所有内容都通过您的 Web 层,需要您的 Web 层中的更多资源)。

问题 2: 这完全取决于您的应用,您如何管理资产并将其呈现给注册用户。无法为您解答,因为我们对您的应用一无所知。

问题 3:Azure 存储可通过密钥访问,该密钥应保密,并且只有您有权访问它(例如,它会被您在服务器上的代码)。只要您不在任何地方发布此密钥,就没有人能够删除您的内容。