Permissions

A grid of all packages implementing permissions for users and groups in your Django project.

Please fell free to verify and update features for listed apps or add another app if you know one.

Features currently being evaluated

FeatureDescription
Object-level Support for permissions assigned per object.
Roles Support for roles in permissions.
Decorator Object-level decorator for views.
Django 1.2 backend See: http://docs.djangoproject.com/en/dev/releases/1.2/#object-level-permissions
.
Database Is a database required? If not, how are permissions stored?
Templatetag Permissions checks in templates via tags.
Declaration Do you declare permissions for models? How?
Assignment How do you assign permissions for objects?
Inheritance Permissions inheritance from related objects.
Logical checks Support for permission checked dynamically, e.g. can view entry no older than
one month.
Field level Supports permissions at the field level of models
Any-to-any Permissions for any object to any other object.
Cascade update Support for cascade update of related objects, e.g. if added view or change perm
for the product, then add view perm for the product category.
Model-level Support for model-level perms (either on its own or by seamless integration with
django.contrib.auth permissions).
Package django-guardian rules django-rules django-permission django-authority django-objectpermissions django-rbac django-rulez django-role-permissions dry-rest-permissions django-permissionsx django-extauth carteblanche django-hierarchical-auth django-permission-backend-nonrel django-permissions django-finegrained-permissions django-rubberstamp django-acl Django Object Permissions django-generic-permissions django_sieve django-custodian django-pobject django-bop django-roles
Package django-guardian rules django-rules django-permission django-authority django-objectpermissions django-rbac django-rulez django-role-permissions dry-rest-permissions django-permissionsx django-extauth carteblanche django-hierarchical-auth django-permission-backend-nonrel django-permissions django-finegrained-permissions django-rubberstamp django-acl Django Object Permissions django-generic-permissions django_sieve django-custodian django-pobject django-bop django-roles
Description Implementation of per object
permissions for Django 1.2+
Awesome Django authorization,
without the database
Flexible and scalable Django
authorization backend for
unified per object permission
management
An enhanced permission system
which support object
permission in Django
A Django app that provides
generic per-object-permissions
for Django's auth app and
helpers to create custom
permission checks.
An app to add
object-level/row-level
permissions to users and
groups. Each model can have
different permissions.
Role-based Access Control
(RBAC) implementation for
management of permissions in
Django. Allows a fine-grained
(row level) permission
assignment. Perfect for ...
A lean and mean object-level
rules system for the Django
framework
A django app for role based
permissions.
Rules based permissions for
the Django Rest Framework
PermissionsX - Authorization
for Django
Extended authorization
framework for Django,
including field-level
permissions and role-based
permissions
Module to align code with
thoughts of users and
designers. Also magically
handles navigation and
permissio...
Extends django auth allowing
hierarchical permissions
An authentication backend that
supports Django's user and
group permissions on
Django-nonrel
Permissions per field instead
of per model for django
Permissions manager and
backend for Django 1.2,
supporting object permissions
and application-specific
permissions.
Access Control Lists for
django aka per-row
permissions. Largely inspired
on phpBB's ACL. Support for
roles.
This is an implementation of
Object Permissions, a.k.a. row
level permissions. Object
Permissions allow you to
assign a permission to ...
A simple Authentication
Backend to manage specific
permissions.
Serve user-wise data
beautifully, minimally and
correctly.
The application
django-custodian wrap and
extend django.contrib.auth
module providing a exaustive
and granular approach to
authorizations and permissions
management. It ...
An expressive and concise mini
permission module for Django
views.
Basic Object-level Permissions
for django 1.2+
Django Roles with
Role-Group-Permission-User
CategoryAppAppAppFrameworkAppAppAppAppAppAppAppAppOtherAppAppFrameworkOtherAppAppAppAppAppAppOtherAppApp
# Using This231223005321011350000100101
Python 3?
Development Status Production/Stable Beta n/a Unknown Alpha Unknown Beta Unknown Production/Stable Alpha Production/Stable n/a Unknown Unknown n/a Production/Stable Beta n/a n/a Unknown Production/Stable Pre-Alpha n/a n/a Beta Unknown
Last updated June 3, 2015, 4:34 a.m. July 26, 2015, 4:41 a.m. July 16, 2011, 11:32 a.m. Aug. 12, 2015, 9:43 p.m. Feb. 21, 2014, 9:13 a.m. Oct. 8, 2010, 7:23 a.m. March 31, 2010, 11:04 p.m. April 13, 2015, 4:11 p.m. Aug. 28, 2015, 1:21 p.m. July 30, 2015, 1:43 p.m. Nov. 5, 2014, 8:07 a.m. Dec. 10, 2011, 8:42 p.m. July 3, 2014, 11:51 a.m. Jan. 5, 2011, 3:03 p.m. April 9, 2011, 4:27 p.m. June 21, 2015, 12:25 p.m. Oct. 6, 2013, 2:36 p.m. Oct. 28, 2010, 6:27 p.m. Aug. 23, 2009, 4:17 p.m. June 6, 2013, 6:33 p.m. Jan. 9, 2013, 10:47 p.m. June 4, 2014, 3:59 p.m. Nov. 10, 2011, 7:31 p.m. March 4, 2011, 11:24 a.m. Oct. 20, 2011, 9:16 a.m. Jan. 28, 2015, 4:04 p.m.
Version1.30.4n/a0.8.80.80.3.30.91.0.20.6.00.1.01.3.4n/a1.0.01.4.6n/a1.2.20.0.1n/an/a1.4.60.1.01.0.0n/an/a0.30.0.4
RepoGithubGithubGithubGithubGithubGithubBitbucketGithubGithubGithubGithubBitbucketGithubGithubBitbucketGithubGithubGithubBitbucketGithubGithubGithubBitbucketBitbucketGithubGithub
Commits
Stars9442151481431078167625241372119181698765443222
Repo Forks264177273064161925227n/a62n/a2211n/an/an/an/a
Participantslukaszb
bsvetchine
ggreer
troygrosfield
emperorcezar
xordoquy
ghinch
rach
wvolz
bmihelac
more...
dfunckt
ticosax
mlsen
thedrow
hzy
revolunet
slafs
maraujop
jjmaestro
chrisglass
lambdalisue
giginet
quasiyoke
oskarjakiela
yoyonamite
Simanas
SalahAdDin
artscoop
duilio
jezdez
jlward
bartTC
gthb
winhamwr
remik
diegobz
jpic
supercodepoet
mozillazg
more...
justquick
jazzido
bhuztez
nabucosoundchrisglass
maraujop
jjmaestro
stefanfoulis
nigma
juandecarrion
mitchellrj
DanLipsitt
amites
DarrenRiedlinger
more...
filipeximenes
reduxionist
victorgutemberg
aarcro
fjsj
myonov
sdee
dbkaplanthinkingpotatomhall119neuman
lightstrike
rascafhahndiefenbach
bport
specialunderwear
PetrDlouhy
paltmantyrionkreneskyp
bramwelt
MostAwesomeDude
JonahBrooks
Kennric
bsu
ecnahc515
edunham
garrypolleyfabiomicheliniphuihockpterkcenkbircanoglu
Documentation N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
Object-level
Rolesirrelevant  if you add a PermissionLogic class like http://bit.ly/1z22IGl , assimilated by groups
Decorator  Works as class/method/functional decorator.  This package operates on view level.  django.contrib.auth.decorators.permission_required
Django 1.2 backend
Database  registry of callables  it use 'Logic' based permission system which is completely different from general permission system.
Templatetag  You can use like {% if user has 'auth.change_user' of object %}
  not needed as it is integrated with django.contrib.auth permissions , limited functionality
Declaration  registry of callables  registration. Each model can be registered with Handler for them , permission classes , registration  as a method in the same model  permissions are defined by role.  Permissions are declared for views. , registration dynamically creates permission models 
permissions are view and function level permissions
 , global permissions in settings and model permission as canonical auth
Assignmentmanager + patched User and Group + shortcut function
+ Admin Integration (with ModelAdmin extension)
irrelevantAdd builtin PermissionLogic subclass or your own PermissionLogic subclass to the target model class.permission classes instances + admin (action) + custom viewspatched User and GroupmanagerIn the same model as a method which takes the User as argument and returns True or False , utils functionsPermissions are not assigned to models.utils functionsutils functionspatched User and Group or util functionsuse the provided add_permission backend

from django_generic_permissions.backends import add_permission

add_permission('foo', logged_in_user)
 , complete API and GUI
Inheritanceirrelevant  for PermissionLogic class , from parent container
Logical checks  each model have PermissionHandler for them and has_perm method will be called for paricular model.
Field level , define it in a object level checker.Objects are assigned to request and they can be compared to other values by attributes or methods.
Any-to-any  Can be
Cascade updateirrelevant  Can beDepends on implementation.
Model-level , integration , own  integrated with django.contrib.auth permissions , own  this works independent of Django models intentionally , own and integrated
Search WeightPackageDescriptionLast PyPI release:Repo ForksStars
{{ item.weight / max_weight * 100 | number:0 }}%{{ item.title }}Grid: {{ item.description }} {{ item.last_released | date: 'mediumDate' }} N/A {{ item.repo_forks }} N/A {{ item.repo_watchers }} N/A