Struct actix_session::SessionMiddlewareBuilder
source · [−]pub struct SessionMiddlewareBuilder<Store: SessionStore> { /* private fields */ }
Expand description
A fluent builder to construct a SessionMiddleware
instance with custom configuration
parameters.
Implementations
sourceimpl<Store: SessionStore> SessionMiddlewareBuilder<Store>
impl<Store: SessionStore> SessionMiddlewareBuilder<Store>
Set the name of the cookie used to store the session ID.
Defaults to id
.
Set the Secure
attribute for the cookie used to store the session ID.
If the cookie is set as secure, it will only be transmitted when the connection is secure
(using https
).
Default is true
.
sourcepub fn session_length(self, session_length: SessionLength) -> Self
pub fn session_length(self, session_length: SessionLength) -> Self
Determine how long a session should last - check out SessionLength
’s documentation for
more details on the available options.
Default is SessionLength::BrowserSession
.
Set the SameSite
attribute for the cookie used to store the session ID.
By default, the attribute is set to Lax
.
Set the Path
attribute for the cookie used to store the session ID.
By default, the attribute is set to /
.
Set the Domain
attribute for the cookie used to store the session ID.
Use None
to leave the attribute unspecified. If unspecified, the attribute defaults
to the same host that set the cookie, excluding subdomains.
By default, the attribute is left unspecified.
Choose how the session cookie content should be secured.
CookieContentSecurity::Private
selects encrypted cookie content.CookieContentSecurity::Signed
selects signed cookie content.
Default
By default, the cookie content is encrypted. Encrypted was chosen instead of signed as
default because it reduces the chances of sensitive information being exposed in the session
key by accident, regardless of SessionStore
implementation you chose to use.
For example, if you are using cookie-based storage, you definitely want the cookie content to be encrypted—the whole session state is embedded in the cookie! If you are using Redis-based storage, signed is more than enough - the cookie content is just a unique tamper-proof session key.
Set the HttpOnly
attribute for the cookie used to store the session ID.
If the cookie is set as HttpOnly
, it will not be visible to any JavaScript snippets
running in the browser.
Default is true
.
sourcepub fn build(self) -> SessionMiddleware<Store>
pub fn build(self) -> SessionMiddleware<Store>
Finalise the builder and return a SessionMiddleware
instance.
Auto Trait Implementations
impl<Store> RefUnwindSafe for SessionMiddlewareBuilder<Store> where
Store: RefUnwindSafe,
impl<Store> !Send for SessionMiddlewareBuilder<Store>
impl<Store> !Sync for SessionMiddlewareBuilder<Store>
impl<Store> Unpin for SessionMiddlewareBuilder<Store>
impl<Store> UnwindSafe for SessionMiddlewareBuilder<Store> where
Store: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more