Crates.io | casbin-rb-adapter |
lib.rs | casbin-rb-adapter |
version | 0.1.9 |
source | src |
created_at | 2024-06-10 15:09:08.464327 |
updated_at | 2024-06-27 14:53:11.669343 |
description | Rbatis adapter for casbin, support database save and load rules. |
homepage | |
repository | https://github.com/cody-why/casbin-rb-adapter |
max_upload_size | |
id | 1267264 |
size | 108,179 |
Rbatis adapter for casbin. With this library, Casbin can load policy or save policy from Rbatis supported databases.
Add the following to Cargo.toml
:
[dependencies]
casbin-rb-adapter = "0.1"
# casbin or use casbin_rb_adapter::casbin
casbin = "2"
# rbatis integration
rbs = "4"
rbatis = "4"
# choose rbatis driver
# rbdc-mysql = "*"
# rbdc-pg = "*"
# rbdc-sqlite= "*"
# rbdc-mssql = "*"
// or use your project Rbatis static instance
let rb = RBatis::new();
rb.init(MysqlDriver {}, url).unwrap();
let adapter = RbatisAdapter::new(&rb).await?;
// need to call db_sync() to create tables in database
// adapter.db_sync().await?;
let mut e = Enforcer::new("examples/rbac_model.conf", adapter).await?;
// e.enforce((sub, obj, act)).await?;
features:
tracing
logger for Adapter,runtime-tokio
runtime for casbin.runtime-async-std
runtime for casbin.How to run examples:
You need to create a .env file in the project root directory, and add the following configuration:
DATABASE_URL=mysql://root:123456@localhost:3306/casbin
runtime-tokio
and runtime-async-std
features for casbin, add tracing
feature logger for Adapter. default feature runtime-tokio
.