[][src]Struct riam::Engine

pub struct Engine<T: PolicyManager> {
    pub manager: T,
}

Engine implements the logic to check if a specific request (action) by a principal is allowed or not on a particular resource.

An action is allowed if and only if there is an explicit "allow" statement that can be applied. Any explicit "deny" statements will override an "allow". If no statement matches then a request is implicitly denied by default.

Fields

manager: T

The underlying policy manager/storage mechanism

Methods

impl<T: PolicyManager> Engine<T>[src]

pub fn new(manager: T) -> Self[src]

Create a new engine with the given policy manager

pub fn is_allowed(&mut self, req: &AuthRequest) -> Result<bool>[src]

Check if an action is allowed or not

Auto Trait Implementations

impl<T> RefUnwindSafe for Engine<T> where
    T: RefUnwindSafe

impl<T> Send for Engine<T> where
    T: Send

impl<T> Sync for Engine<T> where
    T: Sync

impl<T> Unpin for Engine<T> where
    T: Unpin

impl<T> UnwindSafe for Engine<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,