Có lẽ bạn đã bật phiên và mô hình auth.
Bạn phải chắc chắn rằng tất cả lượt xem (REST và không phải REST) yêu cầu xác thực.
Đối với không phải REST, thật dễ dàng. Bạn chỉ cần sử dụng một trang trí cơ bản @login-required
ở khắp mọi nơi.
Đối với khung Django-REST, hãy đọc: http://django-rest-framework.org/library/authentication.html#module-authentication.
Bạn phải sử dụng hỗn hợp xác thực để đảm bảo rằng xác thực thực sự xảy ra.
Khuôn khổ hỗ trợ Xác thực BASIC, yêu cầu kết nối SSL để bảo mật. Việc triển khai xác thực DIGEST không quá khó khăn, điều này không yêu cầu SSL.
Tránh phiên. Nó vi phạm nguyên tắc REST để đăng nhập và đăng xuất. Khung này hỗ trợ các phiên, nhưng nó ít hơn lý tưởng.
Khi bạn đã xác thực tất cả các yêu cầu, bạn sẽ biết người dùng.
Nếu bạn biết người dùng, thì user.video_set
sẽ hoạt động hoàn hảo. Bạn cũng có thể sử dụng Video.objects.filter(...)
để đảm bảo rằng bạn đang truy vấn người dùng, nhưng dễ dàng hơn để xác nhận mã là chính xác nếu bạn làm việc với user.video_set.get(...)
hoặc user.video_set.filter()
hoặc bất kỳ điều gì.
Tất cả kiểm tra ủy quyền có liên quan được thực hiện trong Chế độ xem. Bạn đang cung cấp Chế độ xem cho ModelResources của mình.
Đây là "chế độ xem dựa trên lớp học". Tài liệu có tại đây: https://docs.djangoproject.com/en/dev/topics/class-based-views/#viewing-subsets-of-objects
Bí quyết là chọn tất cả các bộ trộn và serializers phù hợp.
Ví dụ, bạn có thể trộn được chế biến theo cách này:
http://django-rest-framework.org/howto/mixin.html
Bạn sẽ thực hiện bộ lọc vào get
phương pháp
Làm thế nào để bạn xác định người sử dụng "quyền sở hữu" của một đối tượng? Vui lòng bao gồm đủ các mô hình của bạn để chúng tôi có thể xem bạn đang nói về điều gì. –
@ S.Lott vừa cập nhật để bao gồm điều này. –