#[non_exhaustive]pub struct SessionEvent {
pub session_id: Uuid,
pub subject: String,
pub kind: EventKind,
pub enforced: bool,
pub score: Option<u32>,
pub signals: Vec<Check>,
pub ip: IpAddr,
pub user_agent: Option<String>,
pub client: ClientSummary,
pub at: DateTime<Utc>,
}Expand description
One security event.
The subject is kept in its stored form (canonical JSON, see Subject); use
subject to get it back as your type.
The on_event hook gets every client detail, for alerts.
The copy written to the store leaves out the precise ones unless
minimize_stored_events is turned off.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.session_id: UuidThe session concerned.
subject: StringThe session’s subject, as stored.
kind: EventKindWhat happened.
enforced: boolfalse when the decision was only recorded (shadow mode, or
StepUpPolicy::Allow).
score: Option<u32>Risk score, for risk decisions.
signals: Vec<Check>Signals that fired, for risk decisions.
ip: IpAddrClient IP. The stored copy keeps only its /24 or /48 network address by default.
user_agent: Option<String>Client User-Agent, truncated to the header cap. Not stored by default.
client: ClientSummaryWhere the request came from and what sent it. The stored copy leaves out the city by default.
at: DateTime<Utc>When it happened.
Implementations§
Trait Implementations§
Source§impl Clone for SessionEvent
impl Clone for SessionEvent
Source§impl Debug for SessionEvent
impl Debug for SessionEvent
impl Eq for SessionEvent
Source§impl PartialEq for SessionEvent
impl PartialEq for SessionEvent
impl StructuralPartialEq for SessionEvent
Auto Trait Implementations§
impl Freeze for SessionEvent
impl RefUnwindSafe for SessionEvent
impl Send for SessionEvent
impl Sync for SessionEvent
impl Unpin for SessionEvent
impl UnsafeUnpin for SessionEvent
impl UnwindSafe for SessionEvent
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> ⓘ
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> ⓘ
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