Session CGI en Ruby
CGI::Session peut enregistrer un état de session persistant pour les utilisateurs et l'environnement CGI. Les sessions doivent être fermées après utilisation, ce qui garantit que les données sont écrites dans le stockage. Lorsque la session est terminée, vous devez supprimer les données.
Exemples
Visiter "/cgi-bin/test.cgi?bgcolor=red" vous redirigera vers une page avec la couleur d'arrière-plan spécifiée.
Les données de session sont stockées dans le répertoire des fichiers temporaires du serveur. Le paramètre prefix spécifie le préfixe de la session, qui servira de préfixe au fichier temporaire. Ainsi, vous pouvez facilement identifier les différents fichiers temporaires de session sur le serveur.
Classe CGI::Session
CGI::Session maintient l'état persistant entre un utilisateur et l'environnement CGI. Les sessions peuvent être en mémoire ou sur disque.
Méthodes de classe
La classe Ruby CGI::Session fournit des méthodes simples pour créer une session :
Démarre une nouvelle session CGI et renvoie l'objet CGI::Session correspondant. Les options peuvent être un hash facultatif et peuvent prendre les valeurs suivantes :
- session_key:Le nom de la clé pour sauvegarder la session, par défaut _session_id.
- session_id:Un identifiant de session unique. Généré automatiquement.
- new_session:Si true, créez un nouvel ID de session pour la session en cours. Si false, utilisez un identifiant de session existant via session_id. Si ce paramètre est omis, utilisez la session existante si disponible ; sinon, créez-en une nouvelle.
- database_manager:La classe utilisée pour stocker les sessions, qui peut être CGI::Session::FileStore ou CGI::Session::MemoryStore. Par défaut, FileStore.
- tmpdir:Pour FileStore, il s'agit du répertoire de stockage des sessions.
- prefix:Pour FileStore, il s'agit du préfixe des fichiers de session.
Méthodes d'instance
| Non. | Description de la méthode |
|---|---|
| 1 | [ ] Renvoie la valeur pour la clé donnée. Voir l'exemple. |
| 2 | [ ]= Définit la valeur pour la clé donnée. Voir l'exemple. |
| 3 | effacement Appelle la méthode delete de la gestion de base de données sous-jacente. Pour FileStore, supprime le fichier physique contenant la session. Pour MemoryStore, supprime les données de session de la mémoire. |
| 4 | update Appelle la méthode update de la gestion de base de données sous-jacente. Pour FileStore, écrit la session sur le disque. Pour MemoryStore, cela n'a aucun effet. |