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 { 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. |