pub struct Policy {
pub free_failures: u32,
pub window: Duration,
pub first_lockout: Duration,
pub max_lockout: Duration,
}Fields§
§free_failures: u32Failures allowed within window; the last of them starts the first
lockout.
window: DurationFailures are forgotten this long after the last one, or after the end of its lockout.
first_lockout: DurationThe first lockout; each further failure doubles it.
max_lockout: DurationImplementations§
Source§impl Policy
impl Policy
Sourcepub const LOGIN: Policy
pub const LOGIN: Policy
Operator login and step-up: 5 wrong passwords per minute, then exponential backoff (kernel spec §3.2).
Sourcepub const PASSKEY_LOGIN: Policy
pub const PASSKEY_LOGIN: Policy
Passkey logins begun and not finished: 30 a minute, then the same backoff (plan 3c decision 8). A budget of its own, so a password lockout does not stop passkey login (3b-i’s obligation). Every start counts, and a page that offers passkeys on load starts one each time, hence more than a password’s five.
Trait Implementations§
impl Copy for Policy
impl Eq for Policy
impl StructuralPartialEq for Policy
Auto Trait Implementations§
impl Freeze for Policy
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnsafeUnpin for Policy
impl UnwindSafe for Policy
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