django-bop
Django-bop provides Basic Object-level Permissions for django 1.2 and later. It is based on the django-advent article ‘Object Permissions’ by Florian Apolloner.
Although there are a few other permission backends I wanted a simple(r) backend that closely matches the existing django functionality.
Features
Django-bop provides several mechanisms to manage and check the permissions for objects:
bop.admin.ObjectAdmin
bop.forms.inline_permissions_form_factory
api.grant and api.revoke
bop.backends.ObjectBackend
ifhasperm templatetag
bop.managers.UserObjectManager
bop.managers.ObjectPermissionManager
Also of interest:
has_model_perms
Installation
Install it in your (virtual) environment:
$ pip install django-bop
If you haven’t already you should also install south:
$ pip install South
Add ‘bop’ (and south) to you INSTALLED_APPS in settings.py:
INSTALLED_APPS = ( ... 'south', 'bop', )
While in settings.py specify the AUTHENTICATION_BACKENDS:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'bop.backends.ObjectBackend',
)
If you, optionally, want to give permissions to anonymous users you should do the following:
Add a user to contrib.auth.models.User to represent anonymous users (e.g. via the admin). Give it an appropriate name (anon / anonymous) so it easily recognized when assigning permissions.
Add ANONYMOUS_USER_ID to settings.py:
ANONYMOUS_USER_ID = 2
If, in addition – and again optionally – you want to support Model-permissions for anonymous users, you can add the AnonymousModelBackend:
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'bop.backends.AnonymousModelBackend',
'bop.backends.ObjectBackend',
)
When all configuration is done, bring the database up to date:
$ ./manage.py migrate bop
Metadata
Release files for django-bop 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django-bop-0.3.tar.gz | 13.8 kB | Without provenance | Details for django-bop-0.3.tar.gz |
Release files / django-bop-0.3.tar.gz
| Download URL | django-bop-0.3.tar.gz |
|---|---|
| Size | 13.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6f025f3dfd9ee0bf74dafdaa93a6ab10d96048f1c483e8fff91d43c1fe2b58b
|
|
BLAKE2b-256 checksum How to use checksums |
561b0522561cb958c5a92633043ba32ebf4bcd1cfced40d68e81de0e4ad7a9c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for django-bop 0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.