PyCasbin的SQLAlchemy适配器
项目描述
PyCasbin的SQLAlchemy适配器
SQLAlchemy适配器是SQLAlchemy的适配器,用于PyCasbin。使用这个库,Casbin可以从支持SQLAlchemy的数据库加载策略或将策略保存到其中。
基于官方支持数据库,当前支持的数据库有
- PostgreSQL
- MySQL
- SQLite
- Oracle
- Microsoft SQL Server
- Firebird
- Sybase
安装
pip install casbin_sqlalchemy_adapter
简单示例
import casbin_sqlalchemy_adapter
import casbin
adapter = casbin_sqlalchemy_adapter.Adapter('sqlite:///test.db')
e = casbin.Enforcer('path/to/model.conf', adapter)
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 data1
pass
else:
# deny the request, show an error
pass
软删除示例
支持casbin规则的软删除,仅当使用自定义的casbin规则模型时。通过将标志属性传递给db_class_softdelete_attribute
来启用软删除机制,该属性表示规则是否被删除。该属性需要是sqlalchemy.Boolean
类型。
adapter = Adapter(
engine,
db_class=MyCustomCasbinRuleModel,
db_class_softdelete_attribute=MyCustomCasbinRuleModel.is_deleted,
)
请注意,此适配器仅设置一个类似于is_deleted
的标志为True
。提供的模型需要处理如deleted_by
、deleted_at
等字段的更新。有关此的示例,请参阅examples/softdelete.py。
获取帮助
许可协议
本项目采用Apache 2.0许可证。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
casbin_sqlalchemy_adapter-1.4.0.tar.gz (12.4 kB 查看哈希值)
构建分布
关闭
casbin_sqlalchemy_adapter-1.4.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3cc439e3911a0f0c0de66ffde7e0de0586be1e1c772302e003d84164f4bfe291 |
|
MD5 | 30e3bb6028abd14796e1d3f2862137b3 |
|
BLAKE2b-256 | 1a4f2e980d63960acdb106edc97b40abd42a752f71082ded7247a0fde8a0dece |
关闭
casbin_sqlalchemy_adapter-1.4.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a3e4e5d05e47fc6e04995ac26d36f53243f87ac9e3c66b24874ce6353e784897 |
|
MD5 | f380d1a07f3f51818a2b183329e34c6a |
|
BLAKE2b-256 | 8054cd2fd15e94426feb1744171b3e9f075f9880e115a69c1e3356ad2a07b437 |