diff --git a/Cargo.toml b/Cargo.toml index f1c0b3b..5661be6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "actix-casbin-auth" -version = "0.3.2" +version = "0.4.0" authors = ["Eason Chai ","Cheng JIANG "] edition = "2018" license = "Apache-2.0" @@ -13,7 +13,7 @@ name = "actix_casbin_auth" path = "src/lib.rs" [dependencies] -casbin = { version = "1.1.3", default-features = false, features = ["incremental", "cached"] } +casbin = { version = "2.0.1", default-features = false, features = ["incremental", "cached"] } tokio = { version = "0.2.22", default-features = false, optional = true } async-std = { version = "1.6.3", default-features = false, optional = true } actix-web = "2.0.0" diff --git a/README.md b/README.md index cbda25b..87b3f0b 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Add it to `Cargo.toml` ```rust -actix-casbin-auth = "0.3.2" +actix-casbin-auth = "0.4.0" actix-rt = "1.1.1" actix-web = "2.0.0" ``` diff --git a/src/middleware.rs b/src/middleware.rs index d81be93..c6b1cc0 100644 --- a/src/middleware.rs +++ b/src/middleware.rs @@ -119,12 +119,12 @@ where return Ok(req.into_response(HttpResponse::Unauthorized().finish().into_body())) } }; - let subject = &vals.subject; + let subject = vals.subject.clone(); if !vals.subject.is_empty() { - if let Some(domain) = &vals.domain { + if let Some(domain) = vals.domain { let lock = cloned_enforcer.write().await; - match lock.enforce(&[subject, domain, &path, &action]) { + match lock.enforce(vec![subject, domain, path, action]) { Ok(true) => { drop(lock); srv.call(req).await @@ -140,7 +140,7 @@ where } } else { let lock = cloned_enforcer.write().await; - match lock.enforce(&[subject, &path, &action]) { + match lock.enforce(vec![subject, path, action]) { Ok(true) => { drop(lock); srv.call(req).await