Permisos de nivel de objeto Django 1.2 – ¿soluciones de terceros?

Dado que Django 1.2 final está casi fuera, tengo curiosidad si ya hay proyectos que usan los nuevos permisos de nivel de objeto / sistema de permisos de nivel de fila. Django-authority , que es una posible solución para Django hasta 1.1, no se ha actualizado durante un tiempo y no usa (todavía) el nuevo sistema de permisos. Me parece que Django-Authority está en un estado de coma.

¿Alguien sabe acerca de las próximas soluciones o tal vez incluso terminadas? Apreciaría cualquier buen enlace a proyectos activos con al menos algún contenido descargable.

Utilicé https://github.com/lukaszb/django-guardian cuando todavía estaba en la versión 0.2 de un proyecto y estaba bastante completo y sin errores.

Sí, tuve que escribir mi propio decorador de vista ‘check_permission’ ya que en ese momento aún no lo tenía incluido, pero al menos desde la versión 1.0 está ahí.

El autor también fue muy rápido en responder a un problema del que había migrado de 0.2. En general, me sentí feliz con él y por eso lo hice parte de la plantilla de esqueleto de mi proyecto.

Finalmente, encontré cosas realmente buenas: Florian Apolloner escribió un howto en djangoadvent: http://djangoadvent.com/1.2/object-permissions/ Ahora, eso es lo que voy a usar 🙂

Algo útil podría ser también: http://github.com/washingtontimes/django-objectpermissions (enlace muerto a partir del 2011-07-18)

He lanzado una aplicación de Django llamada django-rules que le permite administrar los permisos por objeto de una manera flexible, dinámica y escalable. Quizás quieras revisarlo.

Intenté usar django-granular-permissions para un sitio hace un tiempo, pero no pude hacer que hiciera lo que necesitaba (esto puede haber sido mi propia incapacidad de entender lo que tenía que hacer en lugar de la aplicación). Mirando la pestaña de actualizaciones del sitio de Google Code, parece que no se ha realizado ningún trabajo desde el verano / otoño del año pasado, por lo que puede ser otro pato muerto.

OSU Open Source Labs tiene una implementación de permisos a nivel de objeto aquí

En primer lugar, la principal fuente de información es la cuadrícula de permisos de djangopackages.com : “Una cuadrícula de todos los paquetes que implementan permisos para usuarios y grupos en su proyecto de Django”. (Tenga en cuenta que algunos paquetes se nombran de manera muy similar, por ejemplo, una ‘s’ o un guión es la única diferencia)

Luego, revisando las características de cada paquete (considerando solo el subconjunto mantenido de forma activa), estos son los principales candidatos:

  • django-guardian : “implementación de permisos por objeto como backend de autorización que se admite desde Django 1.2.” pypi , repo , docs .

  • django-permissions : ” Permisos generics por objeto para Django”. “Django-permissions proporciona permisos por objeto para Django en roles”. Pypi , repo original , horquilla más actualizada , docs .

  • django-authority : “proporciona permisos generics por objeto para la aplicación de autenticación de Django”. ” Aplicación Django para permisos por objeto que incluye un grupo de ayudantes para crear controles de permisos personalizados.” Pypi , repo original , bifurcación más actualizada , docs .

Hay otros que por una razón u otra no hicieron el corte:

  • django-objeto-permisos
  • django-rulez
  • django-permiso

PD: esta respuesta se escribió de acuerdo con el estado actual de los paquetes de código abierto, más de 2 años después de que se hizo la pregunta. Aunque no es demasiado minucioso, espero que este trabajo ayude a aquellos que se encuentran en la misma situación que yo.