Estoy construyendo una aplicación de matraz, y quiero que sirva algunos archivos estáticos solo si el usuario está autenticado. Es una aplicación de poco tráfico (solo para uso interno). ¿Cómo voy a hacer esto? Una cosa en la que estaba pensando es en usar serve_static(), y poner eso detrás de una comprobación de autenticación, pero eso usa el directorio estático del que ya sirve el contenido.Asegure los archivos estáticos con el matraz
Respuesta
Simplemente subclase flask.Flask
y anular la send_static_file
método:
class SecuredStaticFlask(Flask):
def send_static_file(self, filename):
# Get user from session
if user.is_authenticated():
return super(SecuredStaticFlask, self).send_static_file(filename)
else:
abort(403)
# Or 401 (or 404), whatever is most appropriate for your situation
Véase también the definition of send_static_file
y siguiendo
¡Dulce, eso funciona! – marcog
Parece que ya no hay una línea 857 en ese archivo. –
@JesseAldridge: he corregido el enlace para apuntar a una confirmación fija. ¡Gracias por el aviso! –
- 1. Cómo no redefinir url para archivos estáticos en el matraz cada vez
- 2. Sirviendo archivos estáticos con Jetty
- 3. Django: Recolecte solamente los archivos estáticos cambiados
- 4. nodejs se cuelga con los archivos estáticos expresos
- 5. servir archivos estáticos (JavaScript) con Struts 2
- 6. ASP.NET VirtualPathProvider con archivos estáticos Problema
- 7. Sirviendo archivos estáticos con mod_wsgi y Django
- 8. errores de registro con el matraz
- 9. Cómo usar archivos estáticos con django nonrel
- 10. Mantener archivos estáticos en el servidor al implementar con Capistrano
- 11. Django: probando archivos estáticos
- 12. ¿Es posible realizar Incluye con matraz?
- 13. Archivos estáticos html en Cherrypy
- 14. django archivos estáticos de versiones
- 15. Asegure los ensamblajes C# de personas que llaman no autorizadas
- 16. Implementación de una aplicación matraz con mod_wsgi
- 17. Los archivos estáticos de Django no se cargarán
- 18. Django 1.3 archivos estáticos colocados en los directorios de aplicación
- 19. matraz de administración + (matraz de inicio de sesión y/o matraz de Principal)
- 20. ¿Cómo se sirven los archivos estáticos a través de Rack?
- 21. ¿Cuál es la diferencia entre los archivos estáticos y los archivos multimedia en Django?
- 22. ¿Cómo dividir la aplicación del matraz en varios archivos py?
- 23. Sirviendo archivos estáticos con anillo/compojure - de una guerra
- 24. Sirviendo archivos estáticos de raíz en Heroku con Django?
- 25. ¿Cómo restablecer file.stream en el matraz/werkzeug?
- 26. Asegure un archivo DLL con un archivo de licencia
- 27. ¿Cómo puedo manejar archivos estáticos con Python webapp2 en Heroku?
- 28. Ruta del matraz con componente codificado URI
- 29. usando el matraz de inicio de sesión con postgresql
- 30. Uso de extensiones de matraz en planos de matraz
¿Quieres auténtica sólo para * ciertos archivos estáticos * o quieres autenticación para * todos * estática archivos (y/o toda la aplicación)? –
Todos los archivos estáticos. Ya tengo la autenticación en la aplicación, así que si puedo verificar la sesión activa de la aplicación sería perfecta. – marcog