2011-10-28 151 views
6
文件

我建设有以下行为的Django/S3应用: 拒绝直接访问S3上

  • 用户

    1. 用户登录上传一个文件 - >文件进入S3(最终与UID名称,并在数据库别名?)
    2. 用户可以下载我正在寻找一种方式来拒绝其他用户的文档

    (或者,更糟糕的是没有登录)查询并访问文件。一个解决方案,我能找到的是:

    • 每个文件,页面有链接到一个处理脚本
    • 链接被点击时,视图处理它(支票用户进行身份验证,确定S3正确的文件)并重定向到它

    这够了吗?有没有更优雅的解决方案呢?

  • 回答

    6

    不要公开你的文件。这将防止非授权用户访问文件。

    然后在您的Django应用程序中,您可以使用查询字符串生成网址,以允许授权用户在有限的时间内访问S3文件。

    关于querystring request authentication的亚马逊文档有更多信息。

    +0

    酷豆。 。 。 –

    +0

    Oooo。好一个! :) –