8 releases
| 0.1.11 | Aug 18, 2025 |
|---|---|
| 0.1.10 | Nov 29, 2024 |
| 0.1.9 | Jun 27, 2024 |
#671 in Database interfaces
471 downloads per month
33KB
655 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:
tracinglogger for Adapter.runtime-tokioruntime for casbin.runtime-async-stdruntime 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-tokioandruntime-async-stdfeatures for casbin, addtracingfeature logger for Adapter. default featureruntime-tokio.
Dependencies
~26–47MB
~638K SLoC