Skip to content

Mojolicious::Sessions

yuki-kimoto edited this page Jun 7, 2012 · 11 revisions

Mojolicious API リファレンス

名前

Mojolicious::Sessions - 暗号化されたクッキーに基づくセッション

使い方

use Mojolicious::Sessions;
my $sessions = Mojolicious::Sessions->new;

説明

Mojolicious::Sessionsはとても簡単な暗号化クッキーに基づくセッションの実装です。 すべてのデータはMojo::JSONによってシリアライズされ、 クライアント側に保存されますが、署名によって 望まない変更を防ぐことができます。

属性

Mojolicious::Sessionsは次の属性を実装しています。

my $domain = $session->cookie_domain;
$session   = $session->cookie_domain('.example.com');

セッションクッキーのためのドメイン。 デフォルトは定義されていません。

my $name = $session->cookie_name;
$session = $session->cookie_name('session');

セッションデータを保存するのに利用される暗号化されたクッキーの名前。 デフォルトはmojolicious

my $path = $session->cookie_path;
$session = $session->cookie_path('/foo');

セッションクッキーのためのパス。デフォルトは/

default_expiration

my $time = $session->default_expiration;
$session = $session->default_expiration(3600);

今から有効期限に至るまでのセッションの秒数。 デフォルトは3600。 毎回のリクエストで有効期限のタイムアウトはリフレッシュされます。 この値を0に設定すると、ブラウザーのウインドウが閉じられるまでセッションを永続化することができますが、 セキュリティの問題を引き起こすかもしれません。 より調節するには、セッションのexpiresの値を利用して、有効期限の日付を特定の時間にエポック秒で指定してください。

# 今から一週間後
$c->session(expires => time + 604800);

# とてもとても過去に設定
$c->session(expires => 1);

secure

my $secure = $session->secure;
$session   = $session->secure(1);

すべてのセッションクッキーにセキュアフラグを設定します。 ブラウザーはクッキーをHTTPS接続のみによって送信することができます。

メソッド

Mojolicious::SessionsMojo::Baseからすべてのメソッドを 実装しており、次のメソッドを実装しています。

load

$session->load($c);

セッションデータを暗号化されたデータからロードします。

store

$session->store($c);

暗号化されたクッキーにセッションのデータを保存します。

参考

Mojolicious, Mojolicious::Guides, http://mojolicio.us.

(2012/6/7更新)

Clone this wiki locally