2011-10-28 33 views
6

Tôi đang xây dựng một ứng dụng django/s3 với các hành vi sau đây:từ chối truy cập trực tiếp vào tập tin trên S3

  1. người dùng đăng nhập
  2. tài tải lên một tài liệu -> tài liệu đi vào S3 (cuối cùng với một UID tên và một bí danh trong DB?)
  3. người dùng có thể tải về các tài liệu

tôi đang tìm kiếm một cách để từ chối những người dùng khác (hoặc, thậm chí tệ hơn, chưa đăng nhập) để truy vấn và nhận được quyền truy cập vào Tập tài liệu. Một giải pháp tôi có thể tìm thấy là:

  • cho mỗi tập tin, trang có liên kết đến một kịch bản xử lý
  • khi liên kết được nhấp, quan điểm xử lý nó (kiểm tra người dùng được chứng thực, xác định các tập tin ngay trong S3) và chuyển hướng đến nó

Có đủ không? Có những giải pháp thanh lịch hơn cho điều này?

Trả lời

6

Không đặt tệp của bạn ở chế độ công khai. Điều này sẽ ngăn người dùng không được phép truy cập các tệp.

Sau đó, trong ứng dụng Django, bạn có thể tạo các url bằng chuỗi truy vấn cho phép người dùng được ủy quyền truy cập tệp S3 trong một thời gian giới hạn.

Tài liệu amazon cho querystring request authentication có thêm thông tin.

+0

Đậu nguội. . . –

+0

Oooo. tốt nhất! :) –

Các vấn đề liên quan