[−][src]Struct casbin::prelude::Enforcer
Enforcer is the main interface for authorization enforcement and policy management.
Trait Implementations
impl CoreApi for Enforcer
[src]
fn new<'async_trait, M: TryIntoModel, A: TryIntoAdapter>(
m: M,
a: A
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>> where
M: 'async_trait,
A: 'async_trait,
Self: 'async_trait,
[src]
m: M,
a: A
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>> where
M: 'async_trait,
A: 'async_trait,
Self: 'async_trait,
fn add_function(&mut self, fname: &str, f: fn(_: String, _: String) -> bool)
[src]
fn get_model(&self) -> &dyn Model
[src]
fn get_mut_model(&mut self) -> &mut dyn Model
[src]
fn get_adapter(&self) -> &dyn Adapter
[src]
fn get_mut_adapter(&mut self) -> &mut dyn Adapter
[src]
fn get_role_manager(&self) -> Arc<RwLock<dyn RoleManager>>
[src]
fn set_role_manager(&mut self, rm: Arc<RwLock<dyn RoleManager>>) -> Result<()>
[src]
fn add_matching_fn(&mut self, f: fn(_: String, _: String) -> bool) -> Result<()>
[src]
fn set_model<'life0, 'async_trait, M: TryIntoModel>(
&'life0 mut self,
m: M
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
M: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
m: M
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
M: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
fn set_adapter<'life0, 'async_trait, A: TryIntoAdapter>(
&'life0 mut self,
a: A
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
a: A
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
A: 'async_trait,
'life0: 'async_trait,
Self: 'async_trait,
fn set_effector(&mut self, e: Box<dyn Effector>)
[src]
fn enforce<'life0, 'life1, 'async_trait, S: AsRef<str> + Send + Sync>(
&'life0 self,
rvals: &'life1 [S]
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 self,
rvals: &'life1 [S]
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Enforce decides whether a "subject" can access a "object" with the operation "action", input parameters are usually: (sub, obj, act).
Examples
use casbin::prelude::*; #[cfg(feature = "runtime-async-std")] #[async_std::main] async fn main() -> Result<()> { let mut e = Enforcer::new("examples/basic_model.conf", "examples/basic_policy.csv").await?; assert_eq!(true, e.enforce(&["alice", "data1", "read"]).await?); Ok(()) } #[cfg(feature = "runtime-tokio")] #[tokio::main] async fn main() -> Result<()> { let mut e = Enforcer::new("examples/basic_model.conf", "examples/basic_policy.csv").await?; assert_eq!(true, e.enforce(&["alice", "data1", "read"]).await?); Ok(()) } #[cfg(all(not(feature = "runtime-async-std"), not(feature = "runtime-tokio")))] fn main() {}
fn enforce_mut<'life0, 'life1, 'async_trait, S: AsRef<str> + Send + Sync>(
&'life0 mut self,
rvals: &'life1 [S]
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
rvals: &'life1 [S]
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
S: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn build_role_links(&mut self) -> Result<()>
[src]
fn build_incremental_role_links(&mut self, d: EventData) -> Result<()>
[src]
fn load_policy<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn load_filtered_policy<'life0, 'async_trait>(
&'life0 mut self,
f: Filter
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
f: Filter
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn is_filtered(&self) -> bool
[src]
fn save_policy<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where
'life0: 'async_trait,
Self: 'async_trait,
fn clear_policy(&mut self)
[src]
fn enable_enforce(&mut self, enabled: bool)
[src]
fn enable_auto_save(&mut self, auto_save: bool)
[src]
fn enable_auto_build_role_links(&mut self, auto_build_role_links: bool)
[src]
fn has_auto_save_enabled(&self) -> bool
[src]
impl EventEmitter<Event> for Enforcer
[src]
fn on(&mut self, e: Event, f: fn(_: &mut Self, _: EventData))
[src]
fn off(&mut self, e: Event)
[src]
fn emit(&mut self, e: Event, d: EventData)
[src]
impl InternalApi for Enforcer
[src]
fn add_policy_internal<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rule: Vec<String>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rule: Vec<String>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn add_policies_internal<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rules: Vec<Vec<String>>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rules: Vec<Vec<String>>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn remove_policy_internal<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rule: Vec<String>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rule: Vec<String>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn remove_policies_internal<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rules: Vec<Vec<String>>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
rules: Vec<Vec<String>>
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
fn remove_filtered_policy_internal<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
field_index: usize,
field_values: Vec<String>
) -> Pin<Box<dyn Future<Output = Result<(bool, Vec<Vec<String>>)>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
[src]
&'life0 mut self,
sec: &'life1 str,
ptype: &'life2 str,
field_index: usize,
field_values: Vec<String>
) -> Pin<Box<dyn Future<Output = Result<(bool, Vec<Vec<String>>)>> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait,
Auto Trait Implementations
impl !RefUnwindSafe for Enforcer
impl Send for Enforcer
impl Sync for Enforcer
impl Unpin for Enforcer
impl !UnwindSafe for Enforcer
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,