pub enum AuthOutcome {
Authenticated(Box<AdminUser>),
UnknownUser,
WrongPassword(Box<AdminUser>),
Disabled(Box<AdminUser>),
}Expand description
The result of checking a username and password.
Every variant but AuthOutcome::Authenticated must be reported to the
client identically – one invalid_credentials, never “no such user” –
but they are kept apart here so the log can say which happened. A caller
that collapses them into the response and not into the log is doing the
right thing with both.
Variants§
Authenticated(Box<AdminUser>)
Password verified and the account is usable.
UnknownUser
No such username. The KDF ran anyway – see authenticate.
WrongPassword(Box<AdminUser>)
The username exists; the password did not match.
Disabled(Box<AdminUser>)
The password was right, but the account is disabled.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AuthOutcome
impl RefUnwindSafe for AuthOutcome
impl Send for AuthOutcome
impl Sync for AuthOutcome
impl Unpin for AuthOutcome
impl UnsafeUnpin for AuthOutcome
impl UnwindSafe for AuthOutcome
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more