[英]How to serve a download of a file which is protected via HTTP authentication
[英]Download a file that needs authentication token
我正在实现一个带有REST后端的AngularJS应用程序(使用Spring Boot)。
我目前可以下载这样的文件:
<td><a href="/api/datasheets/{{datasheet.id}}/documents/{{document.id}}/download" download>Download</a></td>
现在,我正在为我的应用程序添加安全性(使用Spring Security),现在这已经不再适用了。 AJAX调用的身份验证通过在HTTP标头中为每个请求添加x-auth-token
来实现。
但是一个简单的href
在标题中没有x-auth-token
。 我尝试在ng-click
上使用$http.get()
,但这不可行 。
有一个简单的替代方案吗?
在angular中实现文件下载时我遇到了类似的问题。 在我的情况下,我无法在safari中处理blob。 我所做的是:创建一个处理程序,它返回一个有效期为5秒的下载令牌。 只有经过身份验证的用户才能获得此令牌 获得令牌后,调用另一个处理程序,该处理程序在验证令牌后返回该文件,并且此处理程序可公开访问。 因此,您无需在下载文件时发送身份验证标头。
我用它的危险库实现了timstamped令牌。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.