项目ASP.NET
我将使用Azure进行存储。问题(要求):
在我的项目中,我让我的注册用户下载文件。但我不希望用户将此下载链接分享给未注册的人(例如:我给注册用户的下载链接只能在他们的计算机上下载)。
我只为注册用户显示下载链接,注册用户可以下载我给他们的文件
没有人可以删除我的文件
答案 0 :(得分:1)
问题1 :这完全取决于您的应用,但是......如果您在Azure存储中提供指向Blob的直接链接,则需要使用共享访问签名来保护它们(或政策)。这样,您可以为某人提供过期的链接(例如,在您发布链接后10分钟)。然后,如果有人泄露了这个链接,那么它将无法工作很长时间。没有办法限制链接对特定计算机的使用。现在,如果您只是将内容从blob流式传输到您的应用程序,然后从您的应用程序流式传输到用户,您可能会有更多的控制权,因为您不会真正生成可重用的链接。但这会有缺点(例如通过Web层运行所有内容,需要更多的Web层资源)。
问题2:这完全取决于您的应用,您如何管理资产并将其呈现给注册用户。无法为您解答此问题,因为我们对您的应用程序一无所知。
问题3: Azure存储可以通过密钥访问,密钥应该保密,只有您应该有权访问它(例如,它将被您服务器上的代码使用) )。只要您不在任何地方发布此密钥,就没有人能够删除您的内容。