3

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

答えて

3

あなたはレール2.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。

+0

私は実際にhttp://github.com/technoweenieでrestful_authenticationプラグインを参照しています/安静認証/ツリー/マスター。私が15分で期限切れになるようにクッキーを設定したい場合は、どこに設定しますか? authenticated_system.rbに設定する必要がありますか? – Max

0

これは、サーバーでチェックされたセッションの有効期限ではなく(少なくとも私がレール< 2.3で書いたプラグインで)、クッキーの有効期限を設定することに注意してください。後者を達成するには、セッションでタイムスタンプをチェックし、時間が許容限度を超えている場合にそれを破棄する、自分のbefore_filterを実装する必要があります。これはあなたのapplication.rbに> = 2.3

0

のために必要とされる場合には、再度、私がチェックしていません:

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

    def update_activity_time 
    session[:expires_at] = 60.minutes.from_now #default 60 
    end