Raxol.Core.Session.SessionManager (Raxol v2.0.1)
View SourceUnified session management system for Raxol applications.
This module consolidates all session management capabilities across different domains:
- Security sessions (secure tokens, CSRF, authentication)
- Web sessions (HTTP session management, storage, recovery)
- Terminal sessions (terminal emulator sessions)
- Multiplexer sessions (tmux-like session management)
Features
Security Sessions
- Cryptographically secure session tokens
- Session expiration and renewal
- Concurrent session limiting
- Session fixation protection
- CSRF token generation and validation
Web Sessions
- Session storage and retrieval
- Session recovery and cleanup
- Session limits and monitoring
- Session metadata management
Terminal Sessions
- Terminal emulator session management
- Session authentication and state tracking
- Session cleanup and lifecycle management
Multiplexer Sessions
- tmux-like session management
- Window and pane management
- Session persistence and recovery
- Remote session attachment/detachment
Usage
# Security session
{:ok, session} = UnifiedSessionManager.create_security_session("user123",
ip_address: "192.168.1.1",
user_agent: "Browser/1.0"
)
# Web session
{:ok, session} = UnifiedSessionManager.create_web_session("user123", %{
preferences: %{theme: "dark"}
})
# Terminal session
{:ok, session} = UnifiedSessionManager.create_terminal_session("user123")
# Multiplexer session
{:ok, session} = UnifiedSessionManager.create_multiplexer_session("dev-work",
windows: 3,
layout: :main_vertical
)
Summary
Functions
Attaches to a multiplexer session.
Authenticates a terminal session.
Returns a specification to start this module under a supervisor.
Performs cleanup across all session types.
Cleans up a terminal session.
Creates a new multiplexer session with tmux-like capabilities.
Creates a window in a multiplexer session.
Creates a new secure session with cryptographic tokens.
Creates a new terminal session.
Creates a new web session with storage capabilities.
Detaches from a multiplexer session.
Ends a web session.
Generates a CSRF token for a security session.
Gets statistics for all session types.
Gets a terminal session by ID.
Gets active sessions for a user across all types.
Gets a web session by ID.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.
Invalidates a security session.
Invalidates all security sessions for a user.
Lists all multiplexer sessions.
Splits a pane in a multiplexer session.
Updates web session metadata.
Validates a CSRF token.
Validates a security session token.
Functions
Attaches to a multiplexer session.
Authenticates a terminal session.
Returns a specification to start this module under a supervisor.
See Supervisor.
Performs cleanup across all session types.
Cleans up a terminal session.
Creates a new multiplexer session with tmux-like capabilities.
Creates a window in a multiplexer session.
Creates a new secure session with cryptographic tokens.
Creates a new terminal session.
Creates a new web session with storage capabilities.
Detaches from a multiplexer session.
Ends a web session.
Generates a CSRF token for a security session.
Gets statistics for all session types.
Gets a terminal session by ID.
Gets active sessions for a user across all types.
Gets a web session by ID.
Callback implementation for Raxol.Core.Behaviours.BaseManager.handle_manager_cast/2.
Invalidates a security session.
Invalidates all security sessions for a user.
Lists all multiplexer sessions.
Splits a pane in a multiplexer session.
Updates web session metadata.
Validates a CSRF token.
Validates a security session token.