Feat: update casbin and dependencies
Casbin intergration for actix framework
Add it to Cargo.toml
actix-casbin = "0.2.0" actix-rt = "1.1.1"
use actix_casbin::casbin::{DefaultModel, FileAdapter, Result}; use actix_casbin::{CasbinActor, CasbinCmd, CasbinResult}; #[actix_rt::main] async fn main() -> Result<()> { let m = DefaultModel::from_file("examples/rbac_model.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(()) }
This project is licensed under