pub trait HasSession {
    // Required method
    fn session(&self) -> Option<&Session>;

    // Provided methods
    fn allowed_to<'a, R, P>(&self, resource_name: R, action: &P) -> bool
       where R: AsRef<[Identifier<'a>]>,
             P: Action { ... }
    fn check_permission<'a, R, P>(
        &self,
        resource_name: R,
        action: &P
    ) -> Result<(), Error>
       where R: AsRef<[Identifier<'a>]>,
             P: Action { ... }
}
Expand description

Functions to access information about the current session (authentication).

Required Methods§

source

fn session(&self) -> Option<&Session>

Returns the currently authenticated session, if any.

Provided Methods§

source

fn allowed_to<'a, R, P>(&self, resource_name: R, action: &P) -> bool
where R: AsRef<[Identifier<'a>]>, P: Action,

Checks if action is permitted against resource_name.

source

fn check_permission<'a, R, P>( &self, resource_name: R, action: &P ) -> Result<(), Error>
where R: AsRef<[Identifier<'a>]>, P: Action,

Checks if action is permitted against resource_name. If permission is denied, returns a PermissionDenied error.

Object Safety§

This trait is not object safe.

Implementors§