2008-10-17 11 views
20

Tengo una aplicación django a la que me gustaría agregar algunas interfaces de descanso. He visto http://code.google.com/p/django-rest-interface/ pero parece ser bastante simple. Por ejemplo, no parece tener una forma de aplicar la seguridad. ¿Cómo voy a limitar lo que las personas pueden ver y manipular a través de la interfaz de reposo? Normalmente pondría este tipo de lógica en mis puntos de vista. ¿Es este el lugar correcto o debería mover un poco más de lógica al modelo? Alternativamente, ¿hay una mejor biblioteca por ahí o necesito hacer mi propia?Usando django-rest-interface

Respuesta

12

Me gustaría ver en el uso de Django-pistón http://bitbucket.org/jespern/django-piston/wiki/Home aplicación si la seguridad es su principal preocupación.

He usado django-rest-interface en el pasado, es confiable y aunque simple puede ser bastante potente, sin embargo django-piston parece ser más flexible en el futuro.

3

Bueno, por el aspecto de las cosas, hay un parámetro authentication en . (vea este ejemplo: authentication.py)

En segundo lugar, (incluso si Django aún no lo tiene), probablemente exista un middleware que verifique el formulario CSRF/XSRF. (Oh, parece que be one.) También debería poder usar el login_required and permission_required decorators en urls.py.

3

Incluso con el parámetro Autenticación, no tiene un control preciso sobre lo que las personas pueden hacer. La implementación actual de la interfaz Django-REST no rastrea la información del usuario, por lo que no tiene esta información disponible para realizar comprobaciones de autorización detalladas.

Ver Issue #32.

Sin embargo, es relativamente fácil de ampliar para agregar algunas características. Uso muchas subclases para agregar funciones.

Sin embargo, actualizar la solicitud con la información de inicio de sesión es complicado en Django. En lugar de hacer eso, dejo la información en la Colección.

En este momento, calculo que entre parches y subclases, lo que he escrito es casi tan grande como tener mis propias funciones de vista RESTful.

Django-REST, sin embargo, maneja con gracia y pulcritud HTTP Digest Authentication. No tengo ganas de reemplazar el suyo con algún tipo de decorador para mis funciones de visualización de Django.

[Tal vez deberíamos abrir un proyecto de Source Forge y elaborar un reemplazo limpia?]

+0

código de google parece ser el alojamiento preferido para aplicaciones django reutilizables (no estoy seguro de por qué) – Jiaaro

+0

@ S.Lott: sugirió un proyecto de sourceforge; Creo que @Jim Robert sugirió utilizar Google Code en su lugar, ya que parece ser la solución de alojamiento dominante para las aplicaciones de Django en general, sin comentar el nivel de control de seguridad en sí. –

+0

@Hank Gay: Gracias. Probablemente se prefiera el código de Google porque Google ha hecho un gran compromiso con Python. –

2

Por favor, eche un vistazo a django-rest-framework, acabo de pasar de tastypie a este nuevo marco, ¡funciona genial!

http://django-rest-framework.org/

Especialmente los puntos de vista basados ​​clase y la API navegable! y muchas otras ventajas (por ejemplo, subir imágenes)

Cuestiones relacionadas