Pregunta

Ok, I saber que servir archivos multimedia a través de Django es un no se recomienda . Sin embargo, estoy en una situación en la que me gustaría servir archivos "estáticos" usando el control de acceso de grano fino a través de modelos de Django.

Ejemplo : Quiero servir a mi biblioteca de la película a mí mismo a través de Internet. menudo estoy de viaje y me gustaría ser capaz de ver cualquiera de mis películas donde quiera que esté, siempre que tenga acceso a Internet. Así rasgar mi DVDs, subirlos a mi servidor y construir esta sencilla aplicación Django, con una cierta integrable reproductor de vídeo .

Para evitar repercusiones legales, me gustaría para asegurar que sólo los usuarios con sesión iniciada con los permisos adecuados (es decir, a mí mismo y las personas que viven en el mismo hogar, que puede, como yo, de acceso a los DVDs reales a su conveniencia) , pero niega a otros usuarios (es decir, personas que han publicado comentarios en mi blog) y devuelve un HTTP 404.

Ahora, sirviendo estos archivos directamente utilizando Apache y mod_wsgi es bastante problemático porque cuando una solicitud HTTP para los archivos de medios (es decir http://video.mywebsite.com/my-favorite-movie/) entra en juego, que necesito para validar contra mi base de datos de usuario que la persona en el otro extremo tiene el correcto permisos.

Pregunta puede I lograr este efecto sin servicio de los archivos multimedia directamente a través de una vista de Django? ¿Cuáles son mis opciones?

Una cosa que pienso es escribir un script simple que toma un identificador de sesión y babosa de un video y devuelve algún valor booleano que indica si el usuario puede (o no) el acceso al archivo de vídeo. Entonces, de alguna manera solicitud mod_wsgi para ejecutar este script antes de acceder a la URL solicitada y devuelve un HTTP 404 si el guión no. Sin embargo, no tengo ni idea de si esto es posible.

Editar : envíos a esta pregunta aclaró algunas de mis ideas para la búsqueda y me ha llegado a través de mod_python archivo de envoltura extensión . ¿Alguien tiene experiencia suficiente con eso para validar que es una solución viable?

¿Fue útil?

Solución

Yes, you can hook into Django's authentication from Apache. See this how-to:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top