Feat: bump version 0.1.1

2 files changed
tree: bb9f82de69754b71f6c0156176049a6ea24227aa
  1. .github/
  2. examples/
  3. src/
  4. tests/
  5. .gitignore
  6. Cargo.toml
  7. LICENSE
  8. README.md
README.md

Actix casbin

Crates.io Docs Build Status codecov

Casbin intergration for actix framework

Install

Add it to Cargo.toml

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

Example

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

#[actix_rt::main]
async fn main() -> Result<()> {
    let m = DefaultModel::from_file("examples/rbac_model.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