我想使用S3来存储用户上传的excel文件 - 显然我只希望该用户可以访问该S3文件。
现在我的应用程序通过检查用户是否正确,然后通过AJAX点击URL https://s3.amazonaws.com/datasets.mysite.com/1243来完成此操作。我可以使用CORS仅从https://www.mysite.com允许此AJAX。
但是,如果您只需在浏览器中输入https://s3.amazonaws.com/datasets.mysite.com/1243,就可以获得任何文件:P
如何阻止S3直接提供文件,只允许通过ajax(我已经用CORS控制访问权限)来提供它?
答案 0 :(得分:1)
它不是关于AJAX,而是关于权限和授权。
首先,您的存储桶应该是私有的,而不是它们当前可见的状态。
然后,为了让您的用户进行连接,您需要在AWS世界中创建一个名为S3预签名请求的临时下载链接。
您在后端生成它们,这是java sample
享受, [R