跳转到主要内容

PyCasbin的Django ORM适配器

项目描述

Django ORM适配器用于PyCasbin

GitHub Action Coverage Status Version PyPI - Wheel Pyversions Download Discord

Django ORM适配器是DjangoORM适配器,用于PyCasbin。通过这个库,Casbin可以从Django ORM支持的数据库中加载策略,也可以将其保存到数据库中。

基于官方支持的数据库,当前支持的数据库有:

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

安装

pip install casbin-django-orm-adapter

casbin_adapter.apps.CasbinAdapterConfig添加到您的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')

要运行模式迁移,请执行python manage.py migrate casbin_adapter

简单示例

# 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

配置

CASBIN_MODEL

包含您的casbin模型文件位置的字符串。

casbin_adapter

包含适配器导入路径的字符串。默认为随此包提供的django适配器:casbin_adapter.adapter.Adapter

CASBIN_ADAPTER_ARGS

一个元组,包含传递给CASBIN_ADAPTER中指定的适配器构造函数的参数。请参阅适配器以查看可用参数。

例如,如果您想使用文件适配器,将适配器设置为casbin.persist.adapters.FileAdapter,并使用CASBIN_ADAPTER_ARGS = ('path/to/policy_file.csv',)

CASBIN_DB_ALIAS

适配器使用的数据库。默认为"默认"。

CASBIN_WATCHER

要设置为enforcer实例的watcher的watcher实例。

CASBIN_ROLE_MANAGER

要设置为enforcer实例的role manager的role manager实例。

获取帮助

许可协议

本项目遵循Apache 2.0许可证

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分布

casbin-django-orm-adapter-1.3.0.tar.gz (367.3 kB 查看哈希值)

上传时间 源代码

构建分布

casbin_django_orm_adapter-1.3.0-py3-none-any.whl (400.8 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面