class CGI::Session
クラスの継承リスト: CGI::Session < Object < Kernel < BasicObject
要約
特異メソッド
callback(dbman)
new(request, option = {}) -> CGI::Session
-
セッションオブジェクトを新しく作成し返します。
- [PARAM] request:
- CGI のインスタンスを指定します。
- [PARAM] option:
- ハッシュを指定することができます。
以下の文字列が option のキーとして認識されます。
- session_key
-
クッキーと <FORM type=hidden> の name として使われます。 (default: "_session_id")
- session_id
-
セッション ID として使われます。 デフォルトのデータベースである FileStore を用いる場合, 値は英数字だけからなる文字列で無ければなりません。 このオプションを指定するとリクエストにセッション ID が含まれても無視します。 (default: ランダムに生成されます)
- new_session
-
値が true のときは強制的に新しいセッションを始めます。 値が false のときは、リクエストにセッション ID が含まれていない場合に 例外 ArgumentError が発生します。 値がないときは、リクエストにセッション ID が 含まれている場合はそれを使用し、含まれていない場合は新しいセッションを始めます。 (default: 偽)
- database_manager
-
データベースクラスを指定します。 組み込みで CGI::Session::FileStore, CGI::Session::MemoryStore, CGI::Session::PStore を提供しています。デフォルトは CGI::Session::FileStore です。
- session_expires
-
セッションの有効期間。 Time オブジェクトを与えると、セッションはその日時まで破棄されずに残ります。 デフォルトでは、セッションはブラウザの終了と同時に破棄されます。
- session_domain
-
セッションが有効となるドメインを指定します。 デフォルトでは、CGI を実行しているサーバのホスト名になります。
- session_secure
-
真を指定すると HTTPS の場合のみ有効になります。
- session_path
-
クッキーの path として使われます。 デフォルトは File.dirname(ENV["SCRIPT_NAME"]) です。 つまり、スクリプトの URI の path 部の最後のスラッシュまでです。
- tmpdir
-
CGI::Session::FileStore がセッションデータを作成するディレクトリの名前を指定します。 デフォルトは Dir.tmpdir です。
- prefix
-
CGI::Session::FileStore がセッションデータのファイル名に与えるプレフィックス。 (default: "")
- suffix
-
CGI::Session::FileStore がセッションデータのファイル名に与えるサフィックス。 (default: "")
- no_hidden
-
真を指定すると @output_hidden が nil になります。
- no_cookies
-
真を指定すると @output_cookies が nil になります。
例:
CGI::Session.new(cgi, {"new_session" => true})
インスタンスメソッド
self[key] -> object
-
指定されたキーの値を返します。 値が設定されていなければ nil を返します。
- [PARAM] key:
- キーを指定します。
self[key] = val
-
指定されたキーの値を設定します。
- [PARAM] key:
- キーを指定します。
- [PARAM] val:
- 値を指定します。
close -> ()
-
データベースクラスの close メソッドを呼び出して、 セッション情報をサーバに保存し、セッションストレージをクローズします。
delete -> ()
-
データベースクラスの delete メソッドを呼び出して、 セッションをストレージから削除します。
FileStore の場合はセッションファイルを削除します。 セッションファイルは明示的に削除しなければ残っています。
new_session -> bool
-
真であれば新しいセッション ID を生成します。
session_id -> String
-
セッション ID を返します。
update -> ()
-
データベースクラスの update メソッドを呼び出して、 セッション情報をサーバに保存します。
MemoryStore の場合は何もしません。