使用S3后端和用户权限提供媒体文件

2024-05-29 02:25:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我很惊讶,但是我在Google上找不到任何人有完全相同的要求,所以我开始。我正在设计一个Django项目,我知道敏感文档会被用户上传,所以我需要引入某种权限控制机制(目前正在考虑使用JWT)。在

为了使我的项目从操作的角度来看是无状态的(计划在容器中运行它),我希望将用户上传的文件存储在分布式对象存储系统(S3/minio)中。在

这就是我迷路的地方。我知道在一个“常规”的Django生产环境中,用户上传的媒体文件倾向于转到./media文件夹,而web服务器直接从那里提供服务,而不需要任何类型的身份验证。对我来说,这是有风险和不可接受的,因为共享的直接链接可能被嗅探/泄露,未经授权的人可以访问敏感文档。在

打包

  • 存储/服务用户上传内容的公认做法是什么 从S3/minio进/出?在
  • 如何控制对这些文件的访问?在

谢谢!在


Tags: 文件项目django用户文档权限s3状态
1条回答
网友
1楼 · 发布于 2024-05-29 02:25:52

我想你的搜索查询搞错了,因为你不知道要找什么,这是一个DjangoStorage engine

If you need to provide custom file storage – a common example is storing files on some remote system – you can do so by defining a custom storage class.

当然,这已经是been done for you

django-storages is a collection of custom storage backends for Django.

  • Amazon S3
  • Apache Libcloud
  • Azure Storage
  • Digital Ocean
  • DropBox
  • FTP
  • Google Cloud Storage SFTP

相关问题 更多 >

    热门问题