Sessioni CGI rubino
CGI :: Session può essere salvato come ambiente utente e CGI stato della sessione persistente, dopo le sessioni devono essere chiusi, in modo da poter garantire che i dati vengono scritti nella memoria, che, quando la sessione è terminata, è necessario eliminare i dati.
#!/usr/bin/ruby require 'cgi' require 'cgi/session' cgi = CGI.new("html4") sess = CGI::Session.new( cgi, "session_key" => "a_test", "prefix" => "rubysess.") lastaccess = sess["lastaccess"].to_s sess["lastaccess"] = Time.now if cgi['bgcolor'][0] =~ /[a-z]/ sess["bgcolor"] = cgi['bgcolor'] end cgi.out{ cgi { cgi.body ("bgcolor" => sess["bgcolor"]){ "The background of this page" + "changes based on the 'bgcolor'" + "each user has in session." + "Last access time: #{lastaccess}" } } }
L'accesso "/cgi-bin/test.cgi?bgcolor=red" salterà a un colore di sfondo della pagina specifica.
I dati di sessione esiste in una directory dei file temporanei sul server, parametro prefix specifica il prefisso della sessione, come un prefisso per i file temporanei. Sul server in modo che si può facilmente identificare le diverse sessioni di file temporanei.
classe CGI :: Session
CGI :: Session per mantenere uno stato persistente dell'ambiente CGI utente e. Session in memoria può anche essere sul disco rigido.
I metodi di classe
Rubino classe Classe CGI :: Session fornisce un modo semplice per creare sessione:
CGI::Session::new( cgi[, option])
CGI abilitare una nuova sessione e restituisce l'oggetto CGI :: Session corrispondente. Le opzioni possono essere hash opzionale, che può essere i seguenti valori:
- session_key: Salva le chiavi di sessione da _session_id impostazione predefinita.
- session_id: unico ID di sessione.generato automaticamente
- new_session: Se si crea un nuovo ID di sessione per la sessione corrente è vero.Se false, utilizzando l'identità sessione esistente session_id. Se omesso, se disponibile, utilizzare una sessione esistente, o la creazione di uno nuovo.
- database_manager: salvare le sessioni per le classi, può essere CGI :: Session :: FileStore o CGI :: Session :: MemoryStore.Il valore predefinito è FileStore.
- tmpdir: Per FileStore, una directory di archiviazione di errore di sessione.
- prefisso: Per FileStore, un prefisso file di sessione.
Esempi di metodi
No. | metodo Descrizione |
---|---|
1 | [] Restituisce il valore della chiave. Vedi gli esempi. |
2 | [] = Imposta il valore dato chiave. Vedi gli esempi. |
3 | cancellare metodo delete chiama la gestione del database sottostante. Per FileStore, eliminare il file fisico che contiene la sessione. Per MemoryStore, rimuovere i dati di sessione dalla memoria. |
4 | aggiornare Chiamare il metodo di aggiornamento della gestione database sottostante. Per FileStore, la sessione viene scritto su disco. Per MemoryStore alcun effetto. |