Skip to main content

Module session

Module session 

Source
Expand description

Session-based Authentication.

§Spring Security Equivalent

Similar to Spring Security’s session-based authentication with HttpSession.

§Features

  • Store user in session after login
  • Session fixation protection (migrate, new session, or none)
  • Configurable session timeout
  • Maximum sessions per user support
  • Integration with actix-session

§Example

use actix_security_core::http::security::session::{
    SessionAuthenticator, SessionConfig, SessionFixationStrategy
};
use actix_session::SessionMiddleware;
use actix_session::storage::CookieSessionStore;

// Configure session middleware (required)
let session_middleware = SessionMiddleware::new(
    CookieSessionStore::default(),
    cookie_key.clone()
);

// Configure session authenticator with fixation protection
let config = SessionConfig::new()
    .fixation_strategy(SessionFixationStrategy::MigrateSession);

let authenticator = SessionAuthenticator::new(config);

App::new()
    .wrap(session_middleware)
    .wrap(SecurityTransform::new()
        .config_authenticator(move || authenticator.clone())
        .config_authorizer(|| /* ... */))

Structs§

SessionAuthenticator
Session-based authenticator.
SessionConfig
Session authentication configuration.
SessionLoginService
Service for handling login/logout with sessions.
SessionUser
Serializable user data stored in session.

Enums§

SessionError
Session-related errors.
SessionFixationStrategy
Strategy for session fixation protection.

Traits§

CredentialAuthenticator
Trait for authenticators that can validate username/password credentials.