Struct actix_session::config::PersistentSession
source · pub struct PersistentSession { /* private fields */ }
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_web::cookie::time::Duration;
use actix_session::SessionMiddleware;
use actix_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 more