2012-05-08 17 views
6

モデル:deviseを使用してタイムアウトを設定するにはどうすればよいですか?

devise :database_authenticatable, :registerable,:timeoutable, :recoverable, :rememberable, :trackable, :validatable,:timeout_in => 10.seconds 

がdevelopment.rb:

config.timeout_in = 10.seconds 

devise.rb:

config.timeout_in = 10.seconds 
+0

timeout_inオプションを設定することが可能ですあなたは本当に問題は何だ4つのスペース – simonmorley

+0

を使用してコードをフォーマットする必要が - 動作していない何? – simonmorley

+0

10秒後にログアウトが発生しない – user1381579

答えて

5

再度ログインページをリフレッシュしてお見せするためにページを期待していますか?そうであれば、タイムアウト機能の仕組みではありません。リフレッシュ時にログインページが表示されることを期待している場合は、モデルからタイムアウト部分を削除し、次をdevise.rb NOT development.rbに入れてください。 railsサーバを再起動することを忘れないでください。

config.timeout_in = 1.hour 

これは、すべてのも工夫のwikiにhere

を文書化されて、私は10秒の背後にあるロジックについてはよく分かりません?ちょっと短すぎます。それでも動作しない場合は、(たとえば)5分間増やしてテストしてください。

+0

あなたはrember_meの仕組みを教えていただけますか? – user1381579

+0

問題ありません。この記事をチェックアウト:http://rdoc.info/github/plataformatec/devise/master/Devise/Models/Rememberable – simonmorley

+1

私は10秒がテストのためだけであると信じています –

4

はまた、それが動的に

class User < ActiveRecord::Base 
    devise (...), :timeoutable 

    def timeout_in 
    if self.admin? 
     1.year 
    else 
     2.days 
    end 
    end 
end 
関連する問題