Skip to main content

SecurityContext

Struct SecurityContext 

Source
pub struct SecurityContext { /* private fields */ }
Expand description

Who is signed in and what the security system needs to answer for them. One per signed-in person, shared by their units of work.

Implementations§

Source§

impl SecurityContext

Source

pub fn new( identity: Identity, directory: UserDirectory, entities: Vec<EntityInfo>, merge: RoleMerge, ) -> Self

For this person, over these entities.

Source

pub fn with_audit_trail(self, trail: Rc<AuditTrail>) -> Self

Writes what the security system does itself there.

Source

pub fn with_denied_message(self, message: impl Into<String>) -> Self

What people are told when something is refused.

Source

pub fn with<T>(&self, ask: impl FnOnce(&Permissions) -> T) -> T

Asks what this person can do.

Source

pub fn identity(&self) -> Identity

Who is signed in.

Source

pub fn reload(&self) -> Result<(), SpaceError>

Reads who they are again, after their records may have changed: losing a role, or being turned off, takes effect now. Someone no longer active keeps no permission at all.

Source

pub fn change_own_password( &self, current: &str, new: &str, ) -> Result<(), PasswordError>

Changes this person’s own password, which takes the current one.

Source

pub fn set_password_of( &self, user: &Value, password: &str, ) -> Result<(), PasswordError>

An administrator gives someone a password, which they have to change when they sign in.

Trait Implementations§

Source§

impl Debug for SecurityContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.