Skip to main content

Django ORM Adapter for PyCasbin

Build Status Coverage Status Version PyPI - Wheel Pyversions Download License

Django ORM Adapter is the Django's ORM adapter for PyCasbin. With this library, Casbin can load policy from Django ORM supported database or save policy to it.

Based on Officially Supported Databases, The current supported databases are:

  • PostgreSQL
  • MariaDB
  • MySQL
  • Oracle
  • SQLite
  • IBM DB2
  • Microsoft SQL Server
  • Firebird
  • ODBC

Installation

pip install casbin-django-orm-adapter

Add casbin_adapter.apps.CasbinAdapterConfig to your INSTALLED_APPS

# settings.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

INSTALLED_APPS = [
    ...
    'casbin_adapter.apps.CasbinAdapterConfig',
    ...
]

CASBIN_MODEL = os.path.join(BASE_DIR, 'casbin.conf')

To run schema migration, execute python manage.py migrate casbin_adapter

Simple Example

# views.py
from casbin_adapter.enforcer import enforcer

def hello(request):
    sub = "alice"  # the user that wants to access a resource.
    obj = "data1"  # the resource that is going to be accessed.
    act = "read"  # the operation that the user performs on the resource.

    if e.enforce(sub, obj, act):
        # permit alice to read data1casbin_django_orm_adapter
        pass
    else:
        # deny the request, show an error
        pass

Configuration

CASBIN_MODEL

A string containing the file location of your casbin model.

CASBIN_LOG_ENABLED

If True, enables logging. False by default.

CASBIN_ADAPTER

A string containing the adapter import path. Defaults to the django adapter shipped with this package: casbin_adapter.adapter.Adapter

CASBIN_ADAPTER_ARGS

A tuple of arguments to be passed into the constructor of the adapter specified in CASBIN_ADAPTER. Refer to adapters to see available arguments.

E.g. if you wish to use the file adapter set the adapter to casbin.persist.adapters.FileAdapter and use CASBIN_ADAPTER_ARGS = ('path/to/policy_file.csv',)

CASBIN_WATCHER

Watcher instance to be set as the watcher on the enforcer instance.

CASBIN_ROLE_MANAGER

Role manager instance to be set as the role manager on the enforcer instance.

Getting Help

License

This project is licensed under the Apache 2.0 license.

Release files for casbin-django-orm-adapter-test 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for casbin-django-orm-adapter-test 1.0.0
File Size Uploaded
casbin-django-orm-adapter-test-1.0.0.tar.gz 9.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for casbin-django-orm-adapter-test 1.0.0
File Interpreter ABI Platform
casbin_django_orm_adapter_test-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.0 kB

Release files / casbin-django-orm-adapter-test-1.0.0.tar.gz

Download URL casbin-django-orm-adapter-test-1.0.0.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
26300f9288d1b15a9dd17d9bc814811d5c756d709d452e2083a635534c66ab1e
BLAKE2b-256 checksum
How to use checksums
c92abd67a194953f156a485b84e33a804f51eef29d368eddafe0ba0a55271cb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Release files / casbin_django_orm_adapter_test-1.0.0-py3-none-any.whl

Download URL casbin_django_orm_adapter_test-1.0.0-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a364415d02bcaca9e607d07ed1a79ea6b1d20ada8552216fb5c37280f6fdb7fb
BLAKE2b-256 checksum
How to use checksums
90df38468088429e41b75f96410de289ec73ffa9a3d683ee58d25d431c9d1d4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.13

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page