Actix Casbin

Crates.io Docs Auto Build codecov

Casbin intergration for actix framework

Install

Add it to Cargo.toml

rust actix-casbin = "0.2.2" actix-rt = "1.1.1"

Example

```rust use actixcasbin::casbin::{DefaultModel, FileAdapter, Result}; use actixcasbin::{CasbinActor, CasbinCmd, CasbinResult};

[actix_rt::main]

async fn main() -> Result<()> { let m = DefaultModel::fromfile("examples/rbacmodel.conf").await?;

let a = FileAdapter::new("examples/rbac_policy.csv");

let addr = CasbinActor::new(m, a).await?;

let res = addr
    .send(CasbinCmd::Enforce(
        vec!["alice", "data1", "read"]
            .iter()
            .map(|s| (*s).to_string())
            .collect(),
    ))
    .await;

let test_enforce = match res {
    Ok(Ok(CasbinResult::Enforce(result))) => result,
    _ => panic!("Actor Error"),
};
if test_enforce {
    println!("Enforce Pass");
} else {
    println!("Enforce Fail");
}
Ok(())

} ```

License

This project is licensed under