Latest web development tutorials

Sesje Ruby CGI

CGI :: Sesja może być zapisany jako użytkownika i środowiska CGI stanu trwałe sesji, po sesje muszą być zamknięte, dzięki czemu można mieć pewność, że dane są zapisywane do pamięci, które po zakończeniu sesji, trzeba usunąć dane.

#!/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.html {
    cgi.body ("bgcolor" => sess["bgcolor"]){
      "The background of this page"    +
      "changes based on the 'bgcolor'" +
      "each user has in session."      +
      "Last access time: #{lastaccess}"
    }
  }
}

Access "/cgi-bin/test.cgi?bgcolor=red" przeskoczy do konkretnego koloru tła strony.

Dane sesji istnieje w katalogu tymczasowego pliku na serwerze, parametr określa prefiks prefiks sesji, jako przedrostek dla plików tymczasowych. Na serwerze, dzięki czemu można łatwo zidentyfikować różnych sesji pliki tymczasowe.


Klasa CGI :: Session

CGI :: sesji, aby utrzymać trwały stan użytkownika i środowiska CGI. Sesji w pamięci może być również na dysku twardym.

metody klas

Ruby class CGI :: Session zapewnia prosty sposób tworzenia sesji:

CGI::Session::new( cgi[, option])

CGI włączyć nową sesję i zwraca odpowiedni obiekt CGI :: Session. Opcje mogą być opcjonalne hash, które mogą być następujące wartości:

  • session_key: Zapisz klucze sesji domyślnie _session_id.
  • session_id: unikatowy identyfikator sesji.automatycznie generowane
  • new_session: Jeśli utworzyć nowy identyfikator sesji dla bieżącej sesji jest prawdą.Jeśli false, za pomocą tożsamości istniejącej sesji session_id. Jeśli pominięty, jeśli są dostępne, użyć istniejącej sesji lub utworzenie nowego.
  • database_manager: Zapisz sesje dla klas, może być CGI :: Session :: FILESTORE lub CGI :: Session :: MemoryStore.Domyślną wartością jest FileStore.
  • tmpdir: Dla FILESTORE, katalog sesji przechowywania wina.
  • prefix: Dla FILESTORE, przedrostek pliku sesji.

Przykłady metod

Nie. metoda Opis
1 []
Zwraca wartość klucza. Zobacz przykłady.
2 [] =
Ustawia daną wartość klucza. Zobacz przykłady.
3 usunąć
Metoda usuwania nazywa podstawowej zarządzania bazami danych. Dla FILESTORE, usunąć plik fizyczny zawierający sesję. Dla MemoryStore, usunąć dane sesji z pamięci.
4 aktualizacja
Wywołać metodę aktualizacji systemu bazowego zarządzania bazami danych. Dla FILESTORE, sesja jest zapisywana na dysku. Dla MemoryStore bez skutku.