[pyar] Proteger AngularJS static files con Django

Nicolas Rebagliati nicolas.rebagliati en aenima-x.com.ar
Mie Feb 25 15:30:45 ART 2015


Puede ser que no entienda bien lo que queres, pero si usas un TemplateView
con login_required?

2015-02-25 14:35 GMT-03:00 Ariel Camino <arielcamino en gmail.com>:

> El 25 de febrero de 2015, 14:26, Francisco Estevez <
> fran5estevez en outlook.com> escribió:
>
>  Buen día,
>>
>> Les comento mi problema a ver si me pueden dar su opinión:
>>
>> Tengo una API REST hecha en Djangorestframework, que tiene una
>> autenticación básica para algunos endpoints ya funcionando.
>>
>> La misma sirve como backend de datos a una aplicación web AngularJS.
>>
>> Al cliente se le occurrió como requerimiento quiere que los templates que
>> usa AngularJS esten protegidos con la misma autenticacion de la API.
>> Es decir, que por ejemplo, los templates de AngularJS para el login
>> puedan sean accedidos sin restricción, y que los templates para otras
>> vistas internas sólo sean accedidos si ya iniciamos sesión contra la API.
>> Actualmente al código de la app AngularJS lo tenemos alojado en el
>> directorio /static/ del proyecto Django.
>>
>> Buscando un poco, encontré que podria hacer otro directorio para servir
>> archivos estaticos, por ejemplo /secret/, que requiera autenticación,
>> viendo esto:
>>
>> https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/apache-auth/
>>
>> Lo pude hacer andar, loguea con los mismos usuarios de Django, pero al
>> ingresar sale el típico prompt de user/password de apache, es decir, no usa
>> la cookie sessionid que ya inicié con AngularJS para autenticarse.
>>
>> También estuve viendo que los templates de Django comparten símbolos con
>> los templates Angular, y digamos que habría que cambiar el funcionamiento
>> de alguno de los 2 para que sean compatible ponerlo atrás de una view o
>> usar el tag  ^% verbatim % de Django.
>>
>> En fin, en mi opinión, todo este trabajo no tendría sentido. O sea,
>> ocultar algunos de los templates de AngularJS atrás de una view de Django o
>> con otro medio, ya que el sistema permite un free sign in a cualquiera que
>> tenga un email válido.
>>
>> A ustedes que les parece? Directamente lo descarto al pedido?
>>
>> Saludos y muchas gracias!
>>
>> Francisco.
>>
>>
> Me parece que el pedido no tiene mucho sentido por eso último que decís
> (que puede registrase cualquiera).
>
> Dado que los archivos son chiquitos (los templates), lo que podes hacer es
> una vista común de django con autenticación (que usa la cookie), y en vez
> de devolver un response HTML, devolver el template.
>
> Creo que esto te puede llegar a servir:
>
> http://django-downloadview.readthedocs.org/en/1.6/index.html
>
> sino fijate que hay muchos hacks de ese estilo dando vuelta (sin necesidad
> de usar un servidor de archivos estáticos), seguro que se puede hacer, pero
> hay que buscar lo más elegante.
>
> Suerte!
> --
> Ariel Camino
>
> _______________________________________________
> 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/20150225/d79fca69/attachment.html>


More information about the pyar mailing list