Presumibilmente si dispone di sessioni e il modello di autenticazione attivato.
Devi essere sicuro che le viste tutte (REST e non REST) richiedono l'autenticazione.
Per non-REST, è facile. Devi semplicemente usare un decoratore di base @login-required
ovunque.
Per il framework Django-REST, leggere questo: http://django-rest-framework.org/library/authentication.html#module-authentication.
È necessario utilizzare il mix di autenticazione per assicurarsi che l'autenticazione sia effettivamente avvenuta.
Il framework supporta l'autenticazione BASIC, che richiede una connessione SSL sicura. Non è troppo difficile implementare l'autenticazione DIGEST, che non richiede SSL.
Evitare sessioni. Violare un principio di REST per accedere e disconnettersi. Il framework supporta le sessioni, ma non è l'ideale.
Una volta che tutte le richieste sono state autenticate, conoscerai l'utente.
Se si conosce l'utente, quindi user.video_set
funziona perfettamente. Puoi anche utilizzare Video.objects.filter(...)
per assicurarti che stai interrogando l'utente, ma è più facile confermare che il codice sia corretto se lavori con user.video_set.get(...)
o user.video_set.filter()
o altro.
Tutto il controllo dell'autorizzazione pertinente viene eseguito in Views. Stai fornendo Views per le tue ModelResources.
Queste sono "viste basate su classi". La documentazione è qui: https://docs.djangoproject.com/en/dev/topics/class-based-views/#viewing-subsets-of-objects
Il trucco è scegliere tutti i giusti missaggi e serializzatori.
Ad esempio, è possibile ottenere la miscelazione di elaborazione in questo modo:
http://django-rest-framework.org/howto/mixin.html
Potrai realizzare il filtro nel metodo get
Come si definisce l'utente "proprietà" di un oggetto? Per favore includi abbastanza modelli che possiamo vedere di cosa stai parlando. –
@ S.Lott appena aggiornato per includerlo. –