Сессии CGI на Ruby
CGI :: Session может быть сохранен как пользователь и CGI состоянии окружающей среды стойкими сессии после сессии должны быть закрыты, так что вы можете гарантировать, что данные записываются в память, которая, когда сеанс закончен, вам необходимо удалить данные.
#!/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}" } } }
Доступ к "/cgi-bin/test.cgi?bgcolor=red" будет переходить на определенный цвет фона страницы.
Данные сессии существует во временном каталоге файлов на сервере, параметр префикс указывает префикс сессии, в качестве префикса для временных файлов. На сервере, так что вы можете легко определить различные сеансы временных файлов.
класс CGI :: Session
CGI :: Session поддерживать постоянное состояние пользователя и окружающей среды CGI. Сессия в памяти также может быть на жестком диске.
методы класса
Рубин CGI класс Class :: Session предоставляет простой способ создания сеанса:
CGI::Session::new( cgi[, option])
CGI включить новую сессию и возвращает соответствующий объект CGI :: Session. Варианты могут быть необязательными хэш, который может содержать следующие значения:
- session_key: Сохранение ключей сеанса по умолчанию _session_id.
- session_id: уникальный идентификатор сеанса.Автоматически генерируемый
- new_session: Если вы создаете новый идентификатор сеанса для текущего сеанса верно.Если ложь, с помощью существующий сеанс session_id идентичности. Если этот параметр опущен, если таковая имеется, использовать существующий сеанс, или создание новой.
- database_manager: Сохранение сессий для классов, могут быть CGI :: Session :: FILESTORE или CGI :: Session :: MemoryStore.По умолчанию FileStore.
- TMPDIR: Для FILESTORE, каталог сеанса хранения вина.
- Приставка: Для FILESTORE, префикс файла сеанса.
Примеры методов
Нет. | Метод Описание |
---|---|
1 | [] Возвращает значение ключа. Смотрите примеры. |
2 | [] = Устанавливает заданный значение ключа. Смотрите примеры. |
3 | удалять Удаление метод вызывает базовый управление базами данных. Для FILESTORE, удалите физический файл, содержащий сеанс. Для MemoryStore, удалить данные сеанса из памяти. |
4 | обновление Вызовите метод обновления базового управления базами данных. Для FILESTORE, сеанс записывается на диск. Для MemoryStore никакого эффекта. |