pub struct PersistentSession { /* private fields */ }
session
only.Expand description
A session lifecycle strategy where the session cookie will be persistent.
Persistent cookies have a pre-determined expiration, specified via the Max-Age
or Expires
attribute. They do not disappear when the current browser session ends.
Due to its Into<SessionLifecycle>
implementation, a PersistentSession
can be passed directly
to SessionMiddlewareBuilder::session_lifecycle()
.
§Examples
use actix_cloud::actix_web::cookie::time::Duration;
use actix_cloud::session::SessionMiddleware;
use actix_cloud::session::config::{PersistentSession, TtlExtensionPolicy};
const SECS_IN_WEEK: i64 = 60 * 60 * 24 * 7;
// a session lifecycle with a time-to-live (expiry) of 1 week and default extension policy
PersistentSession::default().session_ttl(Duration::seconds(SECS_IN_WEEK));
// a session lifecycle with the default time-to-live (expiry) and a custom extension policy
PersistentSession::default()
// this policy causes the session state's TTL to be refreshed on every request
.session_ttl_extension_policy(TtlExtensionPolicy::OnEveryRequest);
Implementations§
Source§impl PersistentSession
impl PersistentSession
Sourcepub fn session_ttl(self, session_ttl: Duration) -> Self
pub fn session_ttl(self, session_ttl: Duration) -> Self
Specifies how long the session cookie should live.
The session TTL is also used as the TTL for the session state in the storage backend.
Defaults to 1 day.
A persistent session can live more than the specified TTL if the TTL is extended.
See session_ttl_extension_policy
for more details.
Sourcepub fn session_ttl_extension_policy(
self,
ttl_extension_policy: TtlExtensionPolicy,
) -> Self
pub fn session_ttl_extension_policy( self, ttl_extension_policy: TtlExtensionPolicy, ) -> Self
Determines under what circumstances the TTL of your session should be extended.
See TtlExtensionPolicy
for more details.
Defaults to TtlExtensionPolicy::OnStateChanges
.
Trait Implementations§
Source§impl Clone for PersistentSession
impl Clone for PersistentSession
Source§fn clone(&self) -> PersistentSession
fn clone(&self) -> PersistentSession
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PersistentSession
impl Debug for PersistentSession
Auto Trait Implementations§
impl Freeze for PersistentSession
impl RefUnwindSafe for PersistentSession
impl Send for PersistentSession
impl Sync for PersistentSession
impl Unpin for PersistentSession
impl UnwindSafe for PersistentSession
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<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