Skip to main content

Django authorization add-on for multiple organizations and object-level permission settings

Project description

Django Trusts

[![Docs](https://readthedocs.org/projects/django-trusts/badge/)](http://django-trusts.readthedocs.org) [![CI](https://travis-ci.org/beedesk/django-trusts.svg?branch=master)](https://travis-ci.org/beedesk/django-trusts) [![Coverage](https://coveralls.io/repos/github/beedesk/django-trusts/badge.svg?branch=master)](https://coveralls.io/github/beedesk/django-trusts?branch=master) [![Version](https://badge.fury.io/py/django-trusts.svg)](https://pypi.python.org/pypi/django-trusts)

Django authorization add-on for multiple organizations and object-level permission settings

Introduction

django-trusts is a add-on to Django’s builtin authorization. It strives to be a minimal implementation, adding only a single concept, trust, to enable maintainable per-object permission settings for a django project that hosts users of multiple organizations with a single user namespace.

A trust is a relationship whereby content access is permitted by the creator [settlor] to specific user(s) [trustee (s)] or group (s). Content can be an instance of a Content subclass, or of an existing model via a junction table. Access to multiple content can be permitted by a single trust for maintainable permssion settings. Django’s builtin model, group, is supported and can be used to define reusuable permissions for a group of user’s.

django-trusts also strives to be a scalable solution. Permissions checking is offloaded to the database by design, and the implementation minimizes database hits. Permissions are cached per trust for the lifecycle of request user. If a project’s request lifecycle resolves most checked content to one or few trusts, which should be very typically the case, this design should be a winner in term of performance. Permissions checking is done against an individual content or a QuerySet.

django-trusts supports Django’s builtins User models has_perms() / has_perms() and does not provides any in-addition.

Read more: http://django-trusts.readthedocs.org/en/latest/

Test

To run unit tests:

` pip install virtualenv virtualenv venv/ source venv/bin/activate python setup.py test `

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-trusts-0.10.3.tar.gz (40.9 kB view details)

Uploaded Source

File details

Details for the file django-trusts-0.10.3.tar.gz.

File metadata

File hashes

Hashes for django-trusts-0.10.3.tar.gz
Algorithm Hash digest
SHA256 b3c4dba4270ec2c15a8b9890371aa7b6f64867c6e841c94b73ea39080e41f0cc
MD5 44100f6662b2169fabb1da639ca2d74a
BLAKE2b-256 446da1f6d08cd2063f834c8b2dd445750575c03134d78bde792f751a7ceb9d5d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page