From: Shugo Maeda Date: 2002-01-28T14:22:48+09:00 Subject: [ruby-list:33582] Re: Cgi::session in eRuby 前田です。 At Sun, 27 Jan 2002 19:19:11 +0900, kyosuke kiyooka wrote: > > きよおかです。 > > いけべさんありがとうございました。ご指摘の方法で > 解決する事が出来ました。しかし、もう一つクリアしなければ > ならない問題が出てきました。 > > >多分 mod_ruby 環境ですよね。 > >cgi/session で finalizer 使ってあるので、そこかもしれません。 > mod_rubyは、使っていません。httpd.confで > AddType application/x-httpd-eruby .rhtml > Action application/x-httpd-eruby /cgi-bin/eruby > でcgi-binにあるeRubyを起動して使っています。 たぶんeruby-0.9.7以降ならfinalizerがよばれると思います。 At Mon, 28 Jan 2002 00:05:01 +0900, matz@ruby-lang.org (Yukihiro Matsumoto) wrote: > |確認ですが、CGI::Sessionを利用する場合は、a.rhtmlから > |b.rhtmlを呼び出した場合は、同一セッションで管理 > |されていると考えて良いのですよね。 > > リンクってでのリンクですよね。クライアント側でクッ > キーが有効であれば、デフォルトでは同じディレクトリにあるCGI > ファイルでは共通のセッションだとみなされると思うのですが... > AddType application/x-httpd-eruby .rhtml > Action application/x-httpd-eruby /cgi-bin/eruby みたいな設定だと、ENV["SCRIPT_NAME"]が*.rhtmlのパスではなく /cgi-bin/erubyになるせいじゃないですかね? /fooに*.rhtmlがあるとすると session = CGI::Session.new(cgi, 'session_path' => '/foo/') みたいにsession_pathを指定したら上手く行ったりしません? CGI::SessionでENV["SCRIPT_NAME"]じゃなくてENV["REQUEST_URI"]のパ ス部を見るようにしたら幸せになるかもしれないと思うのですが、今は 確認する余裕がありません。 -- 前田 修吾