[pyar] Proteger AngularJS static files con Django

Francisco Estevez fran5estevez en outlook.com
Mar Abr 28 17:33:04 ART 2015


Otra cosa que se me ocurre es usar un CDN para servir los archivos estáticos que tenga algún mecanismo de autenticación con una token o cookie que podrías "tramitar" junto con el login de un cliente al sistema.
Con Amazon S3/Cloudfront se puede lograr algo así.



Date: Tue, 28 Apr 2015 17:17:50 -0300
From: dmlistapython en gmail.com
To: pyar en python.org.ar
Subject: Re: [pyar] Proteger AngularJS static files con Django

No se si esto que cuento cambiaría las sugerencias

-Tengo un site completo en angular que usa solamente el backend como si fuera una API
es decir no cambiaría nada si pongo {% verbatin %} al principio y lo cierro al final ¿igual me conviene que los sirva django?
-¿como se comportaría url.py con el route de angular? ¿tendría que definir cada route en el url?




El 28 de abril de 2015, 16:17, Luis Masuelli <luismasuelli en hotmail.com> escribió:



En mi approach no se usarian archivos estaticos para estas plantillas. Se usarian plantillas con verbatim. Si fuera un archivo estatico, podrias repetir la ruta en otro momento y seria igualmente accesible (los archivos estaticos externos no son controlables por django) sin estar autenticado.

From: gaitan en gmail.com
Date: Tue, 28 Apr 2015 12:24:10 -0300
To: pyar en python.org.ar
Subject: Re: [pyar] Proteger AngularJS static files con Django

2015-04-28 12:10 GMT-03:00 Luis Masuelli <luismasuelli en hotmail.com>:
No es un tema dificil. Por cada template craen /una/vista/de/django, y que sea un simple TemplateView que renderice un template determinado. No olviden dos cosas:

1. Los templates de AngularJS se cargan mediante ajax, por lo que este metodo sirve.
2. Recuerden usar tags {% verbatim %} envolviendo el contenido de los templates, asi no interpreta {{ los_bindings }} como si fueran variables de django.
3. Que el punto devuelva un crudo y feo 403 si no esta logueado. No usen login_required para esto porque sino en caso de no estar logueado les va a renderizar como template el formulario de login.
4. No se como corno reacciona Angular cuando, al buscar una plantilla, obtenga un 403. Usenlo a discreción.
Sólo a modo de complemento:

Este approach sencillo es válido cuando el "static" a servir es pequeño. Si, por ejemplo, lo que se busca es proteger una descarga (supongamos, un PDF de 10mb), lo mejor es hacer que la lógica de permisos la maneje Django, pero la respuesta autorizada la de el webserver. De esta manera no tenemos que leer el archivo para generar el HttpResponse y así es mucho más eficiente. 

Esto se puede hacer facilmente con django-sendfile [1] que es, por ejemplo, lo que usa Waliki [2] para chequear que sólo quien tiene permisos para ver una determinada página puede ver/descargar los adjuntos de esa página. 


[1] https://github.com/johnsensible/django-sendfile[2] https://github.com/mgaitan/waliki

-- 
mgaitan.github.io
textosypretextos.com.ar


_______________________________________________
pyar mailing list pyar en python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar 		 	   		  

_______________________________________________

pyar mailing list pyar en python.org.ar

http://listas.python.org.ar/listinfo/pyar



PyAr - Python Argentina - Sitio web: http://www.python.org.ar/



La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar


-- 
Daniel Malisani


_______________________________________________
pyar mailing list pyar en python.org.ar
http://listas.python.org.ar/listinfo/pyar

PyAr - Python Argentina - Sitio web: http://www.python.org.ar/

La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150428/a4e2ac98/attachment-0001.html>


More information about the pyar mailing list