6 releases
0.1.9 | Jun 27, 2024 |
---|---|
0.1.8 |
|
#496 in Database interfaces
33KB
674 lines
Casbin Rbatis adapter
Rbatis adapter for casbin. With this library, Casbin can load policy or save policy from Rbatis supported databases.
Supported databases, see Rbatis
- MySQL
- PostgreSQL
- SQLite
- MSSQL
- ...
Casbin online editor
Get started
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.
Example
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
update log
- v0.1.9: add
runtime-tokio
andruntime-async-std
features for casbin, addtracing
feature logger for Adapter. default featureruntime-tokio
.
Dependencies
~20–34MB
~526K SLoC