2009-10-02 9 views
0

sur YouTube, une fois que vous avez mis en ligne une vidéo, il vous est demandé de la rendre publique ou privée. étant public qu'il est accessible par tout. Privé étant autorisé par seulement vous le téléchargeur d'origine et vous devez être connecté pour le faire, aussi. J'ai besoin de faire quelque chose du même genre que ça. Je fais une application rails qui utilise le téléchargement progressif de QuickTime au lieu de Flash, donc, fondamentalement, j'utilise une balise embed avec le src pointant vers certains dns/video.mov. Mais je ne peux pas laisser les vidéos être sur le domaine public. Quelles peuvent être mes options sur votre tête?privatiser le streaming vidéo

Répondre

0

Créez un cookie de session lorsque l'utilisateur se connecte. Ce cookie contient généralement un ID de session quelconque (une longue chaîne). Joignez cet ID à l'URL du film en tant que requête (.../video.mov?ID=2387543462578). De cette façon, votre serveur peut vérifier l'ID par rapport aux sessions actuellement ouvertes. Si l'identifiant n'est pas valide, répondez par un 403 (interdit). [EDIT] Depuis que vous avez mis le fichier dans Rails_root/public/videos, Ruby gère automatiquement le téléchargement pour vous. C'est le comportement par défaut pour tout fichier placé dans le dossier public. Ce dont vous avez besoin est de mettre les fichiers dans un endroit différent et de gérer les téléchargements manuellement. Vérifiez les sources Ruby et recherchez le gestionnaire du dossier public; Cela devrait vous donner une idée de comment cela fonctionne sous les hottes. Vous devriez être capable d'étendre cette classe avec du code supplémentaire pour vérifier si l'utilisateur peut effectivement télécharger le fichier.

+0

Dans mon application Rails, il y a à la fois l'authentification et l'autorisation, je peux dire jusqu'à présent qui peut utiliser quelle action. Mon impression est que, disons, j'ai un dossier avec des vidéos d'utilisateurs appelé "vidéo" sous Rails_root/public/videos. Donc abc.mov est accessible maintenant via dns/videos/abc.mov directement dans la barre d'adresse. Rails ne semble pas savoir quelque chose que cela soit arrivé. Si je ne mets pas les vidéos dans un dossier public, ce qui peut empêcher cela, mais je n'aurais aucun moyen de l'intégrer sur une page utilisateur normale parce que l'intégration a un SRC attrib que je dois fournir une url à la vidéo à. Comment puis-je utiliser votre méthode? –

+0

Voir mes modifications: Vous devez ajouter un gestionnaire pour l'autre URL, afin que la vidéo ne soit plus publique pour personne. –

Questions connexes