我很惊讶,但我找不到任何人在谷歌有完全相同的要求,所以我走了。我正在设计一个Django项目,我知道敏感文档会被用户上传,所以我需要引入一些权限控制机制(目前考虑使用JWT)。
为了使我的项目从操作的角度来看是无状态的(计划在容器中运行),我想将用户上传的文件存储在分布式对象存储系统(S3 / minio)中。
这是我迷路的地方。我知道在“常规”Django制作环境中,用户上传的媒体文件往往会转到./media
文件夹,而网络服务器直接从那里提供,没有任何形式的身份验证。对我来说,这是冒险和不可接受的,因为共享的直接链接可能被嗅探/泄露,未经授权的人可以访问敏感文档。
把它包装起来:
谢谢!
我认为你的搜索查询错了,因为你不知道该找什么,这是一个Django Storage engine:
如果您需要提供自定义文件存储 - 一个常见示例是将文件存储在某个远程系统上 - 您可以通过定义自定义存储类来实现。
当然,这已经是been done for you:
django-storages是Django的自定义存储后端的集合。
- 亚马逊Sz
- Apache Libcloud
- Azure存储
- 数字海洋
- DropBox的
- FTP
- Google云端存储SFTP