我有一个基于ASP.Net MVC(托管在VM或Azure WebApp上),Azure文件存储和ASP.Net身份提供程序构建的解决方案,用于身份验证。
该解决方案涉及从服务器上传和下载大量文件。
在下载文件之前,必须首先在服务器上进行一些身份验证。
目前我的解决方案实现如下:
我从上述方法中注意到它有以下缺点:
如果我可以在从Web服务器/控制器方法授权请求后以某种方式建立从文件存储到客户端/用户的直接下载,则可以规避上述大部分内容。
我提出的解决方案是在请求获得授权后立即在请求的文件上生成SAS(共享访问签名)(使用寿命很短),然后将客户端重定向到直接下载URL SAS。
我有什么理由不使用这种方法,还是有更好的方法?
答案 0 :(得分:1)
我提出的解决方案是生成SAS(共享访问权限) 签名)在请求的文件(短寿命)上尽快 请求已被授权,然后将客户端重定向到 使用SAS直接下载URL。
我认为这是一个很好的方法。这种方法克服了你提到的所有缺点。
我有什么理由不使用这种方法,或者在那里 有没有更好的方法?
除了保持SAS短命(你正在做的事情)之外,还有一些我能想到的事情。看看它们是否对你有意义: