[前][次][番号順一覧][スレッド一覧]

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を設定すると、セッションが保持されない【解決】