Diesel Adapter is the Diesel adapter for Casbin-rs. With this library, Casbin can load policy from Diesel supported database or save policy to it.
Based on Diesel, The current supported databases are:
Add it to Cargo.toml
diesel-adapter = { version = "0.7.1", features = ["postgres"] }
async-std = "1.6.2"
Rename sample.env
to .env
and put DATABASE_URL
, POOL_SIZE
inside
```bash DATABASEURL=postgres://casbinrs:casbin_rs@127.0.0.1:5432/casbin
POOL_SIZE=8 ```
Or you can export DATABASE_URL
, POOL_SIZE
bash
export DATABASE_URL=postgres://casbin_rs:casbin_rs@127.0.0.1:5432/casbin
export POOL_SIZE=8
```rust use dieseladapter::casbin::prelude::*; use dieseladapter::DieselAdapter;
async fn main() -> Result<()> { let mut m = DefaultModel::fromfile("examples/rbacmodel.conf").await?; let a = DieselAdapter::new()?; let mut e = Enforcer::new(m, a).await?; Ok(()) } ```
postgres
mysql
Attention: postgres
and mysql
are mutual exclusive which means that you can only activate one of them. Currently we don't have support for sqlite
, it may be added in the near future.