Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > cgi/sessionライブラリ > CGI::Sessionクラス

class CGI::Session

クラスの継承リスト: CGI::Session < Object < Kernel < BasicObject

Abstract

特異メソッド

callback(dbman)
new(cgi[, aHash])

セッションオブジェクトを新しく作成し返します。 オプションとして Hash オブジェクト aHash を与えることができます。

例:

CGI::Session.new(cgi, {"new_session" => true})

以下の文字列が aHash のキーとして認識されます。

  • "session_path" クッキーのb path として使われます。 (default: File.dirname(ENV["SCRIPT_NAME"]), スクリプトの URI の path 部の最後のスラッシュまで)
  • "session_key" クッキーと <FORM type=hidden> の name として使われます。 (default: "_session_id")
  • "session_id" セッション ID として使われます。 デフォルトのデータベースである FileStore を用いる場合, 値は英数字だけからなる文字列で無ければなりません。 このオプションを指定するとリクエストにセッション ID が含まれても無視します。 (default: ランダムに生成されます)
  • "new_session" 値が true のときは強制的に新しいセッションを始めます。 以下は ((<ruby 1.8.2 feature>)) です。
  値が false のときは、リクエストにセッション ID が含まれていない場合に
  例外 ArgumentError が発生します。

  値がないときは、リクエストにセッション ID が
  含まれている場合はそれを使用し、含まれていない場合は新しいセッションを始めます。

  (default: 値なし)

* "database_manager"
  データベースクラスを指定します。
  (defalut: CGI::Session::FileStore)

* CGI::Session::FileStore
  テキストファイルを使います。文字列データしか扱えません。

* CGI::Session::MemoryStore
  メモリ上のハッシュを使います。Ruby インタプリタの生存期間中のみ有効です。
  #@# mod_ruby 用って事かな...

* CGI::Session::PStore
  Marshal フォーマットを使い、あらゆる型のデータを保存できます。
  cgi/session/pstore によって提供される機能のため、このライブラリを読み込まなければ利用できません。

* "tmpdir"
  CGI::Session::FileStore がセッションデータを作成するディレクトリの名前を指定します。
  (default: ENV["TMP"] || "/tmp")

  ((<ruby 1.8 feature>)): default は [[m:tmpdir#Dir.tmpdir]] になりました。

* "prefix"
  CGI::Session::FileStore がセッションデータのファイル名に与えるプレフィックス。
  (default: "")

* "suffix"
  CGI::Session::FileStore がセッションデータのファイル名に与えるサフィックス。
  (default: "") ((<ruby 1.8.2 feature>))

* "no_hidden"
  [[unknown:執筆者募集]]

* "no_cookies"
  [[unknown:執筆者募集]]

* "session_expires"
  セッションの有効期間。
  [[c:Time]] オブジェクトを与えると、セッションはその日時まで破棄されずに残ります。
  (default: ブラウザの終了と同時に破棄されます)

* "session_domain"
  [[unknown:執筆者募集]]

* "session_secure"
  [[unknown:執筆者募集]]

* "session_path"
  [[unknown:執筆者募集]]

インスタンスメソッド

self[key]

指定されたキーの値を返します。

値が設定されていなければ nil を返します。

self[key] = val

指定されたキーの値を設定します。

close

データベースクラスの close メソッドを呼び出して、 セッション情報をサーバに保存し、セッションストレージをクローズします。

delete

データベースクラスの delete メソッドを呼び出して、 セッションをストレージから削除します。

FileStoreの場合はセッションファイルを削除します。 セッションファイルは明示的に削除しなければ残っています。

new_session
session_id
update

データベースクラスの update メソッドを呼び出して、 セッション情報をサーバに保存します。

MemoryStore の場合は何もしません。

Methods

Classes