Ruby CGI Session
CGI::Session puede guardar el estado de sesión persistente para el usuario y el entorno CGI. Después de usar la sesión, debe cerrarse, para garantizar que los datos se escriban en el almacenamiento. Cuando la sesión haya terminado, debe eliminar esos datos.
Ejemplo
Acceder a "/cgi-bin/test.cgi?bgcolor=red" redirigirá a una página con el color de fondo especificado.
Los datos de la sesión se guardan en el directorio de archivos temporales del servidor. El parámetro prefix especifica el prefijo de la sesión, que se utilizará como prefijo del archivo temporal. De esta manera, puede identificar fácilmente los distintos archivos temporales de sesión en el servidor.
Clase CGI::Session
CGI::Session mantiene el estado persistente entre el usuario y el entorno CGI. La sesión puede estar en la memoria o en el disco duro.
Métodos de clase
La clase Ruby CGI::Session proporciona un método simple para crear una sesión:
Activa una nueva sesión CGI y devuelve el objeto CGI::Session correspondiente. Las opciones pueden ser un hash opcional con los siguientes valores:
- session_key:El nombre de clave para guardar la sesión. Por defecto es _session_id.
- session_id:El ID único de sesión. Se genera automáticamente.
- new_session:Si es true, se crea un nuevo id de sesión para la sesión actual. Si es false, se utiliza un identificador de sesión existente mediante session_id. Si se omite este parámetro, se usa la sesión existente si está disponible; de lo contrario, se crea una nueva.
- database_manager:La clase utilizada para guardar las sesiones puede ser CGI::Session::FileStore o CGI::Session::MemoryStore. El valor por defecto es FileStore.
- tmpdir:Para FileStore, es el directorio de almacenamiento de la sesión.
- prefix:Para FileStore, es el prefijo de los archivos de sesión.
Métodos de instancia
| N.º | Descripción del método |
|---|---|
| 1 | [ ] Devuelve el valor de la clave dada. Ver ejemplo. |
| 2 | [ ]= Establece el valor de la clave dada. Ver ejemplo. |
| 3 | delete Llama al método de eliminación de la gestión de base de datos subyacente. Para FileStore, elimina el archivo físico que contiene la sesión. Para MemoryStore, elimina los datos de la sesión de la memoria. |
| 4 | update Llama al método de actualización de la gestión de base de datos subyacente. Para FileStore, escribe la sesión en el disco. Para MemoryStore no tiene efecto. |