Expand description
Server-side session store abstraction.
SessionStore is a trait; the app provides a concrete implementation
(e.g. RedisSessionStore). SessionManager wraps the store, handles
the session-ID cookie (signed via HMAC, same as CookieService), and
exposes load_from_headers / create / save / delete.
RequestContext::session() returns the loaded session (if any) so
handlers can read/write typed values without knowing how they’re stored.
§Usage
ⓘ
ctx.provide(SessionManager::new(
RedisSessionStore::new(redis),
SessionConfig {
cookie_name: "arcly_session",
ttl_secs: 3600,
secret: env_or("SESSION_SECRET", "change-in-prod"),
..Default::default()
},
));Structs§
- Session
- A single server-side session. Thread-safe via an interior
RwLock. - Session
Config - Configuration for
SessionManager. - Session
Manager - Orchestrates session lifecycle: cookie extraction, store lookup, creation, persistence, and deletion.
Traits§
- Session
Store - Backend store for sessions. Implement this to plug in Redis, Postgres, etc.