Actix Casbin

Crates.io Docs Auto Build codecov

Casbin intergration for actix framework

Install

Add it to Cargo.toml

rust casbin = { version = "0.6.2", default-features = false } actix-casbin = "0.1.1" actix-rt = "1.1.0"

Example

```rust use actix_casbin::{CasbinActor, CasbinCmd, CasbinResult}; use casbin::prelude::*;

[actix_rt::main]

async fn main() -> Result<()> { let m = DefaultModel::fromfile("examples/rbacmodel.conf") .await .unwrap(); let a = FileAdapter::new("examples/rbac_policy.csv");

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

if let CasbinResult::Enforce(test_enforce) = addr
    .send(CasbinCmd::Enforce(
        vec!["alice", "data1", "read"]
            .iter()
            .map(|s| s.to_string())
            .collect(),
    ))
    .await
    .unwrap()
    .unwrap()
{
    if test_enforce {
        println!("Enforce Pass");
    } else {
        println!("Enforce Fail");
    }
    Ok(())
} else {
    panic!("Actor Error");
}

} ```

License

This project is licensed under