home / grids / Permissions edit

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.

 

Standard View

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).
PackageDescriptionCategoryDownloadsLast UpdatedVersionRepoCommitsStarsForksParticipantsLicenseObject-levelRolesDecoratorDjango 1.2 backendDatabaseTemplatetagDeclarationAssignmentInheritanceLogical checksField levelAny-to-anyCascade updateModel-level
django-objectpermissionsAn app to add object-level/row-level permissions to users and groups. Each model can have different permissions.App0Oct. 8, 2010, 7:23 a.m.0.3.3Github827justquick
jazzido
bhuztez
Apache , registrationpatched User and Group
django-role-permissionsA django app for role based permissions.App0April 18, 2016, 8:45 a.m.1.0Github9030filipeximenes
reduxionist
victorgutemberg
fjsj
aarcro
drxos
myonov
sdee
MIT  permissions are defined by role. , utils functions , define it in a object level checker.
rulesAwesome Django authorization, without the databaseApp0Dec. 7, 2015, 4:43 a.m.1.1.1Github29419dfunckt
ticosax
mlsen
thedrow
hzy
revolunet
slafs
smcoll
MITirrelevant  registry of callables  registry of callablesirrelevantirrelevantirrelevant
django_sieveServe user-wise data beautifully, minimally and correctly.App0June 4, 2014, 3:59 p.m.1.0.0Github41BSD
carteblancheModule to align code with thoughts of users and designers. Also magically handles navigation and permissions.Other0July 3, 2014, 11:51 a.m.1.0.0Github263neuman
lightstrike
UNKNOWN
django-rolesDjango Roles with Role-Group-Permission-UserApp0Jan. 28, 2015, 4:04 p.m.0.0.4Github30cenkbircanogluMIT
dry-rest-permissionsRules based permissions for the Django Rest FrameworkApp0Feb. 5, 2016, 11:25 a.m.0.1.6Github9713dbkaplan
AlexandreCollet
GerardPaligot
abeniwal
marctc
vovanbo
artragis
BSD
django-aclApp0Oct. 8, 2015, 7:49 p.m.0.1.3Github40MIT
django-flexible-permissionsA Django app that combines object-level table permissions with model relations to avoid normalization of data while providing an extremely ...App0Dec. 10, 2015, 9:21 p.m.1.0.7Github30staabMIT LicenseYes, by creating a role-agent-entity entry, combined with checking optional model relations.By creating a Permission record, mapping actions to roles, and defining permission inheritance via relations.No, though it's extensible enough to add that easily.
django-tabular-permissionsDisplay Django permissions in a tabular format that is translatable and easy customized.App0March 16, 2016, 7:27 p.m.1.0.8Github101RamezIssacBSD License
django-trustsDjango authorization add-on for multiple organizations and object-level permission settingsApp0April 30, 2016, 3:17 a.m.0.10.3Github84thomasyip
Core2Duo
suhailvs
BSD 2-Clause  ✅ ✅

django-trusts always works as an annexation; all features require *no* patched class of any sort, works with all existing builtin auth features: authorization, permission, group, contenttypes; option to use junction table mechanism: no moditication to any existing model.
 

Role is specified in model's meta and management commands updates db entires and makes it available for permission check
 

Implemented: @permission_required('app.read_project', fieldlookups_kwargs={'pk': 'project_id'})
 

implementation optimized to reduce db hits per http request
 

supports django's builtins
 

via django's permission model: app.change_xyz, app.add_xyz, app.delete_xyz or any custom permissions
 

via Models or Django Admin UI
(upcoming: REST api via tastypie)
 

Can be achieve with two methods:
a) by register the model with field lookup path from another permissible model (i.e., Content.register_content(ReceiptImage, '%s__image' % Content.get_content_fieldlookup('app.Receipt')), or
b) by sharing the same `trust` between depended / dependent objects
 

via lambda registered with model (i.e., Content.register_permission_condition(Receipt, 'own', lambda u, p, o: u == o.user))

@permission_required('app.change_receipt:own', fieldlookups_kwargs={'pk': 'pk'})

? 

Same mechanism as Inheritance
 

supports updating of multiple object permissions via `trust` and multiple users via django's `auth.models.Group`
 

design to be used alongside with Django's builtin auth ModelBackend
django-global-permissionsGlobal permissions for DjangoApp0Dec. 1, 2015, 9:03 a.m.0.2.2Github133eduardo-matosBSD
django-auth-utilsDjango authentication and authorization utilities.App0March 4, 2016, 9 a.m.0.1rc1Github30pjdelportPublic Domain
Django Object PermissionsThis is an implementation of Object Permissions, a.k.a. row level permissions. Object Permissions allow you to assign a permission to ...App0June 6, 2013, 6:33 p.m.1.4.6Github52kreneskyp
bramwelt
MostAwesomeDude
JonahBrooks
Kennric
bsu
chancez
edunham
MIT License , limited functionality , registration dynamically creates permission modelspatched User and Group or util functions
django-hierarchical-authExtends django auth allowing hierarchical permissionsApp0Jan. 5, 2011, 3:03 p.m.1.4.6Github187rascaMIT License
django-rulezA lean and mean object-level rules system for the Django frameworkApp0April 13, 2015, 4:11 p.m.1.0.2Github6216chrisglass
maraujop
jjmaestro
stefanfoulis
nigma
juandecarrion
mitchellrj
DanLipsitt
amites
DarrenRiedlinger
more...
BSD  not needed as it is integrated with django.contrib.auth permissions  as a method in the same modelIn the same model as a method which takes the User as argument and returns True or False  integrated with django.contrib.auth permissions
django-rulesFlexible and scalable Django authorization backend for unified per object permission managementApp0July 16, 2011, 11:32 a.m.Github1478maraujop
jjmaestro
chrisglass
UNKNOWN
django-rubberstampPermissions manager and backend for Django 1.2, supporting object permissions and application-specific permissions.App0Oct. 28, 2010, 6:27 p.m.Github71paltmanUNKNOWN
django-finegrained-permissionsPermissions per field instead of per model for djangoOther0Oct. 6, 2013, 2:36 p.m.0.0.1Github92specialunderwear
PetrDlouhy
GPL
django-generic-permissionsA simple Authentication Backend to manage specific permissions.App0Jan. 9, 2013, 10:47 p.m.0.1.0Github41garrypolleyUNKNOWN  django.contrib.auth.decorators.permission_required 
permissions are view and function level permissions
use the provided add_permission backend

from django_generic_permissions.backends import add_permission

add_permission('foo', logged_in_user)
  this works independent of Django models intentionally
django-bopBasic Object-level Permissions for django 1.2+App0Oct. 20, 2011, 9:16 a.m.0.3Github20pterkBSD
django-permissionsxPermissionsX - Authorization for DjangoApp0Oct. 2, 2015, 7:13 p.m.1.3.4Github375thinkingpotato
adi-
BSD  This package operates on view level.  Permissions are declared for views.Permissions are not assigned to models.Objects are assigned to request and they can be compared to other values by attributes or methods.Depends on implementation.
django-permissionsFramework0June 21, 2015, 12:25 p.m.1.2.2Github118diefenbach
bport
BSDutils functions
django-rbacRole-based Access Control (RBAC) implementation for management of permissions in Django. Allows a fine-grained (row level) permission assignment. Perfect for ...App0March 31, 2010, 11:04 p.m.0.9Bitbucket684nabucosoundBSD Licensemanager , own
django-aclAccess Control Lists for django aka per-row permissions. Largely inspired on phpBB's ACL. Support for roles.App0Aug. 23, 2009, 4:17 p.m.Bitbucket62tyrionUNKNOWNutils functions , own
django-permission-backend-nonrelAn authentication backend that supports Django's user and group permissions on Django-nonrelApp0April 9, 2011, 4:27 p.m.Bitbucket160fhahnUNKNOWN
django-pobjectAn expressive and concise mini permission module for Django views.Other0March 4, 2011, 11:24 a.m.Bitbucket20phuihockUNKNOWN
django-extauthExtended authorization framework for Django, including field-level permissions and role-based permissionsApp0Dec. 10, 2011, 8:42 p.m.Bitbucket212mhall119UNKNOWN
django-custodianThe application django-custodian wrap and extend django.contrib.auth module providing a exaustive and granular approach to authorizations and permissions management. It ...App0Nov. 10, 2011, 7:31 p.m.Bitbucket30fabiomicheliniUNKNOWN , assimilated by groups , global permissions in settings and model permission as canonical auth , complete API and GUI , from parent container , own and integrated
django-permissionAn enhanced permission system which support object permission in DjangoFramework0Jan. 14, 2016, 10:49 a.m.0.9.2Github17035lambdalisue
giginet
quasiyoke
philippeowagner
oskarjakiela
yoyonamite
Simanas
SalahAdDin
artscoop
duilio
MIT  if you add a PermissionLogic class like http://bit.ly/1z22IGl  Works as class/method/functional decorator.  it use 'Logic' based permission system which is completely different from general permission system.  You can use like {% if user has 'auth.change_user' of object %}
  registration. Each model can be registered with Handler for themAdd builtin PermissionLogic subclass or your own PermissionLogic subclass to the target model class.  for PermissionLogic class  each model have PermissionHandler for them and has_perm method will be called for paricular model.  Can be  Can be
django-authorityA Django app that provides generic per-object-permissions for Django's auth app and helpers to create custom permission checks.App0April 19, 2016, 7:57 a.m.0.10Github12034jezdez
jlward
bartTC
bocribbz
winhamwr
gthb
remik
diegobz
jpic
safwanrahman
more...
BSD , permission classespermission classes instances + admin (action) + custom views , integration
django-guardianPer object permissions for DjangoApp0April 3, 2016, 12:46 a.m.1.4.4Github1109309lukaszb
brianmay
bsvetchine
mitar
ggreer
emperorcezar
xordoquy
ad-m
troygrosfield
Wtower
more...
BSD Licensemanager + patched User and Group + shortcut function
+ Admin Integration (with ModelAdmin extension)
PackageDescriptionCategoryDownloadsLast UpdatedVersionRepoCommitsStarsForksParticipantsLicenseObject-levelRolesDecoratorDjango 1.2 backendDatabaseTemplatetagDeclarationAssignmentInheritanceLogical checksField levelAny-to-anyCascade updateModel-level
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