3

ログインページにrestful_authenticationプラグインを使用しています。問題は、ユーザーとしてログインした後、ログアウトをクリックするまでログアウトされないことです。15分のセッションタイムアウトを設定するにはどうすればよいですか?たとえば、15分後にいずれかのページに移動すると、ログインページにリダイレクトされます。

4

3 に答える 3

3

Rails2.3のconfig/intializers/session_store.rbファイルでセッションの有効期限を設定できます。

次のオプションを追加するだけです。

:expire_after => 60.minutes

または、before_filterで以下を使用して、コントローラー/アクションごとの有効期限を変更できます。

request.session_options = request.session_options.dup
request.session_options[:expire_after] = 5.minutes
request.session_options.freeze

これらの手順はhttp://squarewheel.pl/posts/3にあり、レール<2.3のプラグインへのリンクもあります。

于 2009-06-01T02:56:41.837 に答える
0

あなたのapplication.rbで:

  before_filter :update_activity_time, :except => [:login, :logout]

   def update_activity_time
     session[:expires_at] = 60.minutes.from_now #default 60
   end
于 2011-06-14T18:40:30.510 に答える
0

これは、サーバーでチェックされたセッションの有効期限ではなく、Cookieの有効期限のみを設定することに注意してください(少なくとも、レール<2.3用に作成したプラグインを使用)。後者を実現するには、セッションのタイムスタンプをチェックし、時間が許容限界を超えている場合はそれを破棄する独自の before_filter を実装する必要があります。繰り返しますが、これが >=2.3 に必要かどうかは確認していません。

于 2009-06-03T22:57:50.110 に答える