トップ(最新)

nDiki : セッション管理

セッション管理 - session management

スポンサード リンク

Related term

2006年2月28日 (火)

Intercepting Filter パターンとレスポンスの順次送信 このエントリーを含むはてなブックマーク

WiKickerセッション管理/認証/承認機能をどのように形で組み込むか思案中。

セッション管理部分は CGI::Session モジュールで実装し、認証承認部分はドライバはまずは Apache::Htpasswd モジュール等を使い上位部分を自前で実装という形にすることにしようと考えている。

さて、これをどうやって組み込むか。 認証承認機能は、運用によってバックエンドがファイルだったりデータベースだったりする(したい)ので、結構な柔軟性を持たせておきたい。

Servlet のフィルタのように Intercepting Filter パターンにするのが柔軟性が高いかなと思ってコードを書き始めてみた。 リクエスト側のフィルタリングは問題なかったのだが、レスポンス側のフィルタリングではたと困った。

WiKicker では view についてはクライアントを待たせないように、構築したところから順次送信している。 効率を落とさず、拡張可能なフィルタを適用するのが難しそう。

実装したい機能に対してオーバースペックなフレームワークに膨れ上がりそうなのでヤメ。 普通にそれぞれの機能を差し替え可能にしておいて、使わない場合は何もしない処理クラスを設定するという無難な構成にしよう。

スポンサード リンク


[ 2月28日全て ]

2006年3月2日 (木)

WiKicker へのセッション管理/認証/承認機能追加開始 このエントリーを含むはてなブックマーク

書き始めると結構なコード追加になりそうな感じ。

上記機能を使わないオープンな Wiki としてももちろん使えるようにしておきたいので、その辺り慎重にコーディングしていく必要あり。 現在 WiKicker が持っているサーバサイドセッション管理をともなわない、Cookie オンリーのプリファレンス機能との連携をどうするかも課題。

それにしてもやはり、WWW::Mechanize::CGI 便利だわ。


[ 3月2日全て ]

2006年5月22日 (月)

WiKicker 0.30 リリース - トップページのページ名を変更できるようにするなどの機能追加 このエントリーを含むはてなブックマーク

2006年2月13日以来、3カ月ぶりのリリース。

  • コメント書き込みでも書き込み禁止パターンが適用されるように改良。
  • WikiPage 編集画面で Ctrl+S を押すとプレビューするように改良。
  • WiKicker の トップページのページ名を変更できるように改良 (toppage.pagename プロパティ)。
  • トピックパス表示で常にトップページを先頭に表示するオプション (topicpath.showtop プロパティ) を追加。
  • エラー時の HTTP レスポンスコードを 503 にした。
  • テストスクリプトの改善。

セッション管理/認証/承認機能のコードを書きはじめてパッケージには含まれているけれど、まだ完成していないので有効になるようにはなっていない (あ、ちょっと中途半端になっているかも)。


[ 5月22日全て ]

2006年11月10日 (金)

WiKicker でドメイン名なしの URL でセッションがはれなかった理由 このエントリーを含むはてなブックマーク

 http://example/wiki

のように、ホスト部がドメイン名を含まないホスト名のみの URL でアクセスした場合、WiKicker では cookie ベースのセッション管理がうまく動かなかった。

cookie仕様では、cookie の domain 属性で指定できる文字列はピリオドをいくつか含まなければならないことになっている。

しかし、ホスト名だけでアクセスしたサーバへは Web ブラウザcookie を送らないというのは誤解。 domain 属性が省略されている cookie の場合は (アクセスするサーバの名前に含まれているピリオドの数が条件を満たしていなくても)ちゃんと cookie を発行したサーバへリクエストと一緒に送ってくれる。

WiKicker で何で駄目か確認したら、configuration オブジェクトの「cookie の domain 属性を決めるメソッド」で、「cookie.domain というプロパティ設定があればそれを」、「無ければ HTTP_HOST 環境変数の値を」 domain 属性で使う値として返すようになっていたから(って書いたのは昔の自分)。

次回のリリースで修正。


[ 11月10日全て ]

Related web page

会員メニューのセッションに関する指摘について (さくらインターネット創業日記)
セッション管理についていろいろ。
http://tanaka.sakura.ad.jp/archives/000970.html
@IT:Webアプリケーション: 第3回 気を付けたい貧弱なセッション管理
http://www.atmarkit.co.jp/fsecurity/rensai/webhole03/webhole01.html
SecurIT-Advisory 2005-001: URLに埋め込むIDに頼ったセッション管理方式の脆弱性(2)
http://securit.gtrc.aist.go.jp/SecurIT/advisory/referer-2/
CGI::Session.pmでセッション管理
Windows XP/Apache/cgywin/perlのインストールは省略する.インストーラの言う通りでインストールできる.perlもcygwinのセットアッププログラムでインストールできる. では,何をインストールするのかといえば,CPANを使ってCGI::Session.pmのインストールを行う.CPANはperlのモジュールのインストールを行うもので,CGI::Sessionはperlのモジュールである.CPANの設定を行う必要があるが,CPAN
http://www.dab.hi-ho.ne.jp/sasa/biboroku/perl/session.html

■よく検索されるキーワード

perl(47) windows(44) 提案書(43) ドラマ(39) cvs(36) debian(31) linux(27) ほぼ日手帳(27) torrent(24) x31(24) 書き方(23) 使い方(23) サンプル(23) ganttproject(20) java(19) wiki(18) thinkpad(17) tc-1(17) 壁紙(15) アジェンダ(15) 作り方(15) ノート(14) 動画(14) usb(14) アジェンダとは(13) google(13) 手帳(12) ヨドバシカメラ(12) subversion(12) apache(12) ウォーターボーイズ2(12) インストール(11) ssh(11) フリー(11) centos(11) 2008(11) 影舞(11) c#(10) 画像(10) 秋葉原(10) svn(10) rcs(10) 日本語(10) リフィル(10) ほぼ日(10) tortoisesvn(10) 修理(10) ボールペン(9) cgi(9) 本名(9) ポーター(9) dvd(9) usbメモリ(9) クラリチン(8) web(8) 2009(8) a6(8) make(8) ヨドバシ(8) ubuntu(8) truecrypt(8) gtd(8) 設定(8) 写真(8) so905ics(7) ガントチャート(7) activeperl(7) 万年筆(7) 無料(7) svn+ssh(7) 冷蔵庫(7) ツール(7) バッグ(7) porter(7) gantt(7) project(6) firefox(6) scons(6) eclipse(6) flash(6)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 1.301473s / load averages: 0.22, 0.45, 0.62
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)