Skip to main content

TenantRegistration

Struct TenantRegistration 

Source
pub struct TenantRegistration<U> { /* private fields */ }
Expand description

A panel’s tenant registration page, installed with Auth::tenant_registration: the TenantRegistrar that creates tenants, and whether a user who acts for none must create one first.

let auth = Auth::custom(StaffAuth).tenant_registration(TenantRegistration::new(StaffAuth).required());

U is the user type the registrar loads; Auth takes only one over the type its authenticator loads.

Implementations§

Source§

impl<U: PanelUser> TenantRegistration<U>

Source

pub fn new(registrar: impl TenantRegistrar<User = U>) -> Self

Registers tenants through registrar. A user who acts for no tenant still reaches the panel, and its resources that need a tenant answer 403; see required.

Source

pub fn required(self) -> Self

Sends a signed-in user who acts for no tenant to the registration page before anything else: a page answers with a redirect to it and any other request with 403, as for an unverified address, which comes first. Leave it off where some users, such as operators, act for no tenant on purpose.

Trait Implementations§

Source§

impl<U> Debug for TenantRegistration<U>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<U> !RefUnwindSafe for TenantRegistration<U>

§

impl<U> !UnwindSafe for TenantRegistration<U>

§

impl<U> Forget for TenantRegistration<U>

§

impl<U> Freeze for TenantRegistration<U>
where PhantomData<fn() -> U>: Freeze,

§

impl<U> Send for TenantRegistration<U>
where PhantomData<fn() -> U>: Send,

§

impl<U> Sync for TenantRegistration<U>
where PhantomData<fn() -> U>: Sync,

§

impl<U> Unpin for TenantRegistration<U>
where PhantomData<fn() -> U>: Unpin,

§

impl<U> UnsafeUnpin for TenantRegistration<U>
where PhantomData<fn() -> U>: UnsafeUnpin,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more