rails:3043
From: 久野@サイベイト <hisano@s...>
Date: Thu, 26 Mar 2009 09:39:45 +0900
Subject: [rails:3043] Re: セッションにexpiresを設定すると、セッションが保持されない【解決】
久野と申します。 表題の件について、自己解決しましたのでご報告いたします。 結論から言うと、PGの問題ではなくブラウザの仕様の問題でした。 今回、開発中のためURIを以下のようにIPアドレスで指定していたのですが、 http://192.168.0.***:3000/ これがIEのセキュリティに引っかかったようです。 参考)http://support.microsoft.com/kb/316112/ja Internet Explorer セキュリティ修正プログラム MS01-055 のインストール 後、セッション変数が要求間で保持されない 上記曰く、不適切な構文を使用した名前のサーバーは Cookie 名を設定できない とのことです。 以下のようにドメイン名を指定してアクセスすることで セッションが維持されることを確認しました。 http://foo.sample.com:3000/ # 上記には解決方法としてIPアドレスを使用するみたいなことが # 書いてあるのですが、今回そのIPアドレスで引っかかったのは謎です。 久野さんは書きました: > 久野と申します。 > > 通常セッションはブラウザを落とすまで有効ですが、 > セッションをブラウザ再起動後も維持したいと思い、 > app/controllers/application.rbにてbefore_filterに > 以下の記述を追加しました。 > > ActionController::Base.session_options.update( > :session_expires => 1.month.from_now) > > > その結果、Firefox3.0.7では意図した結果になったのですが、 > IE7では毎回セッションが切れてしまうようになりました。 > (ブラウザ再起動時にセッションが維持されないだけでなく、 > 何か操作するたびにセッションが切れてしまう) > ここ3日ほど色々調べてみたのですが、いまだ原因不明です。 > 何か情報がありましたらご教授いただければ幸いです。 > > > ■環境 > ・CentOS5 > ・rails2.1.1 > ・ruby 1.8.5 > > ・pluginにactive_heartを追加 > > ・環境設定 > $ cat config/environment.rb > (省略) > Rails::Initializer.run do |config| > (省略) > require 'cgi/session/pstore' > config.action_controller.session_store = CGI::Session::PStore > config.action_controller.session = { > :session_key => "_session_id", > :secret => "*********************************"} > (省略) > > ■目的 > ログイン画面にて「セッションを保持する」チェックを入れた場合に、 > セッションを最終操作時から一ヶ月間維持したい。 > > > ■調査結果 > 1)セッションIDのクッキー保存はできている。 > 2)表示されたページからどこかのリンクをクリックすると、 > 前回のセッションが呼び出されず、新しいセッションが > 作成されてしまう。(ログイン画面に戻ってしまう) > 3)session_expiresの設定をはずすと問題ない > > > 以上、よろしくお願いいたします。 > > > > > > -- > ML: rails@r... > 使い方: http://QuickML.com/ > -- ML: rails@r... 使い方: http://QuickML.com/
3042 2009-03-24 01:30 [hisano@s... ] セッションにexpiresを設定すると、セッションが保持されない -> 3043 2009-03-26 01:39 ┗[hisano@s... ] Re: セッションにexpiresを設定すると、セッションが保持されない【解決】