[pyar] Proteger AngularJS static files con Django

Martín Gaitán gaitan en gmail.com
Mar Abr 28 12:24:10 ART 2015


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 <http://textosyprextextos.com.ar>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20150428/aea3f1d3/attachment.html>


More information about the pyar mailing list