PyCasbin的异步Redis适配器
项目描述
PyCasbin的异步Redis适配器
Async Redis Adapter是PyCasbin的异步redis适配器。使用这个库,Casbin可以从redis加载策略或将策略保存到其中。
安装
pip install casbin_async_redis_adapter
简单示例
import asyncio
from casbin_async_redis_adapter import Adapter
import casbin
async def get_enforcer():
adapter = Adapter("localhost", 6379, encoding="utf-8")
e = casbin.AsyncEnforcer("rbac_model.conf", adapter)
model = e.get_model()
model.clear_policy()
model.add_policy("p", "p", ["alice", "data1", "read"])
await adapter.save_policy(model)
model.clear_policy()
model.add_policy("p", "p", ["bob", "data2", "write"])
await adapter.save_policy(model)
model.clear_policy()
model.add_policy("p", "p", ["data2_admin", "data2", "read"])
await adapter.save_policy(model)
model.clear_policy()
model.add_policy("p", "p", ["data2_admin", "data2", "write"])
await adapter.save_policy(model)
model.clear_policy()
model.add_policy("g", "g", ["alice", "data2_admin"])
await adapter.save_policy(model)
e = casbin.AsyncEnforcer("rbac_model.conf", adapter)
await e.load_policy()
return e
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.
async def main():
e = await get_enforcer()
if e.enforce("alice", "data1", "read"):
print("alice can read data1")
else:
print("alice can not read data1")
asyncio.run(main())
配置
Adapter()
默认启用decode_responses并支持任何Redis参数配置。
要使用casbin_redis_adapter,您必须提供以下参数配置
host
:redis服务的地址port
:redis服务端口
以下参数默认提供
db
:redis数据库,默认为0
username
:redis用户名,默认为None
password
:redis密码,默认为None
key
:存储Casbin规则的key,默认为casbin_rules
有关更多参数,请参阅redis-py
获取帮助
许可协议
此项目采用Apache 2.0许可协议。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
casbin_async_redis_adapter-1.2.0.tar.gz (10.1 kB 查看哈希值)
构建分发
关闭
casbin_async_redis_adapter-1.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 45a1b419b3e5d98b34b3f8166836e4db96759576606a17e3f52877b6eaad66c9 |
|
MD5 | d3e9097e2cec53bedd5a1e67ffa43b93 |
|
BLAKE2b-256 | b80c3f00f0c40835c49a2e13204dc2f8913208e3236700e75ce5b6ea2f6b62fd |
关闭
casbin_async_redis_adapter-1.2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9e08b6b3ae6fcd9463507cd23c188b169cb18e645fb98e6594a1ba6838b97700 |
|
MD5 | c6f3bb8de847d3ef02836caa6afc80f9 |
|
BLAKE2b-256 | 269377386dde0dfef8f14c68ef42f0efbb321fad9b0568667e96c4b0ca130d47 |