Question

Ok, I sais au service des fichiers multimédias à travers Django est un pas recommandé . Cependant, je suis dans une situation où je voudrais servir fichiers « statiques » en utilisant le contrôle d'accès à grain fin grâce à des modèles Django.

Exemple : Je veux servir ma bibliothèque de films à moi-même sur le web. Je voyage souvent et je voudrais être en mesure de voir l'un de mes films partout où je suis, à condition d'avoir accès à Internet. Alors je rip mes DVD, les télécharger sur mon serveur et construire cette application simple Django couplée à une intégrable lecteur vidéo .

Pour éviter des répercussions juridiques, je voudrais assurer que seuls les utilisateurs connectés avec les autorisations appropriées (moi-même et dire les personnes vivant dans le même ménage, qui peut, comme moi, les vrais DVD accès à leur convenance) , mais nie à d'autres utilisateurs (à savoir des personnes qui ont posté des commentaires sur mon blog) et renvoie HTTP 404.

Maintenant, au service de ces fichiers directement en utilisant Apache et mod_wsgi est plutôt gênant parce que quand une requête HTTP pour les fichiers multimédias (c.-à-http://video.mywebsite.com/my-favorite-movie/) vient, je dois valider contre ma base de données de l'utilisateur que la personne à l'autre extrémité a la bonne permissions.

Question : peut J'obtenir cet effet sans au service des fichiers multimédia directement à travers une vue Django? Quelles sont mes options?

Une chose que je ne pense est d'écrire un script simple qui prend un ID de session et la limace d'une vidéo et retourne une valeur booléenne indiquant si l'utilisateur peut (ou non) l'accès au fichier vidéo. Puis, en quelque sorte mod_wsgi de demande d'exécuter ce script avant d'accéder à l'URL demandée et retourner un HTTP 404 si le script a échoué. Cependant, je n'ai pas la moindre idée si cela est encore possible.

Modifier : l'affichage de cette question précise certaines de mes idées pour la recherche et je suis venu à travers de mod_python fichier wrapper l'extension . Quelqu'un at-il assez d'expérience avec ce pour valider qu'il est une solution viable?

Était-ce utile?

La solution

Oui, vous pouvez brancher dans l'authentification Apache de Django. Voir ce how-to:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top