2010-05-12 10 views
11

Dado que Django 1.2 final está casi terminado, tengo curiosidad por si ya hay proyectos que usan el nuevo permiso 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 aún no (usa) el nuevo sistema de permisos. Me parece que Django-Authority está en estado comatoso.Permisos de nivel de objeto Django 1.2: ¿soluciones de terceros?

¿Alguien sabe acerca de las próximas soluciones o tal vez incluso terminados? Agradecería mucho tener enlaces buenos a proyectos activos con al menos un poco de contenido descargable.

+0

Encontré una solución más agradable: https://github.com/lukaszb/django-guardian - ¡parece que también funciona con Django 1.3! – mawimawi

Respuesta

7

Por último, me pareció muy bueno: Florian Apolloner escribió un COMO en djangoadvent: http://djangoadvent.com/1.2/object-permissions/ Ahora eso es lo que voy a usar :)

algo útil podría ser así: http://github.com/washingtontimes/django-objectpermissions (enlace no tan of 2011-07-18)

+0

Leo la publicación de Florian, y si bien es informativa, no parece ser compatible con permisos de grupo. Por ejemplo, si a un grupo se le da permiso para un objeto (¿es eso incluso compatible con el ejemplo de Florian?), ¿Los usuarios de ese grupo tendrán permiso para el objeto? – millerdev

+0

para mi proyecto no necesitaba permisos de grupo. en cualquier caso, tendrá que implementarlo usted mismo. pero tal vez ya hay otra aplicación django por ahí, no la revisé durante algunos meses. – mawimawi

1

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 para comprender lo que tenía que hacer en lugar de la aplicación). Al mirar la pestaña de actualizaciones del sitio de códigos de google, parece que no se ha hecho ningún trabajo desde el verano/otoño del año pasado, por lo que puede ser otro tema irrelevante.

+0

también, el proyecto parece haberse movido: http://github.com/ryates/django-granular-permissions-redux – hop

5

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

9

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

Sí tuve que escribir mi propio 'check_permission' vista como decorador en el momento no tenía todavía incluido - pero al menos de la versión 1.0 que está ahí.

El autor también era muy rápido para responder a un problema que había migrar de 0.2 - en general he sido feliz con ella y por lo tanto hice parte de mi plantilla esqueleto proyecto.

1

OSU Open Source Labs tiene una implementación de permisos de nivel de objeto here

1

En primer lugar, la principal fuente de información es djangopackages.com's perms grid: "Una rejilla de todos los paquetes de aplicación permisos para usuarios y grupos en su proyecto Django". (Tenga en cuenta que algunos paquetes se nombran de manera muy similar, por ejemplo, un 's' o un guión es la única diferencia)

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

  • django-tutor: “la aplicación de por permisos de objetos como backend autorización que está soportado desde Django 1.2.” pypi, repo, docs.

  • django-permissions: "Permisos genéricos por objeto para Django". "Django-permisos proporciona permisos por objeto para Django en roles". pypi, original repo, most updated fork, docs.

  • django-autoridad: “proporciona genéricos por-objeto de los permisos para aplicaciones de autenticación de Django.” “Django aplicación para per-objeto permisos que incluye un montón de ayudantes para crear controles de permisos personalizados” pypi,. original repo, most updated fork, docs.

hay otros que por una razón u otra no hizo el corte:

PS: Esta respuesta fue escrito de acuerdo con el estado actual de los paquetes de código abierto, más de 2 años después la pregunta fue hecha Aunque no es demasiado completo, espero que este trabajo ayude a aquellos que están en la misma situación que yo.

Cuestiones relacionadas