Sessions (middleware)
Durées de session
| Durée | Usage |
|---|---|
Duration::minutes(30) | Sessions courtes (sécurité) |
Duration::hours(2) | Usage standard |
Duration::hours(24) | Défaut Runique |
Duration::days(7) | "Se souvenir de moi" |
Configuration
// Durée de session personnalisée
let app = RuniqueApp::builder(config)
.with_session_duration(time::Duration::hours(2))
.build()
.await?;
Store personnalisé (production)
// Exemple avec un store Redis
let app = RuniqueApp::builder(config)
.middleware(|m| m.with_session_store(RedisStore::new(client)))
.build()
.await?;
Accès à la session dans les handlers
pub async fn dashboard(request: Request) -> AppResult<Response> {
// Lire une valeur de session
let user_id: Option<i32> = request.session
.get("user_id")
.await
.ok()
.flatten();
// Écrire une valeur
let _ = request.session.insert("last_visit", "2026-02-06").await;
}
Pour le système de sessions complet avec watermarks, voir Sessions.