2011-02-01 8 views
28

1時間から3時間の不使用期間(正確にはどれくらいの時間がかかりません)のセッションが作成されます。これをどうすれば調整できますか?セッションの長さをDeviseと設定する

私はドキュメントを見てきましたが、この設定を見つけることができないようです。

ありがとう

答えて

62

config/initializers/devise.rbを参照してください。 config.timeout_inなど多くの設定があります。私のバージョンのデフォルトは30分です。モデル自体にも設定することができます。

class User < ActiveRecord::Base 
    devise :timeoutable, :timeout_in => 15.minutes 

set the timeout dynamicallyに変更することもできます。 Rails4で

+0

timeout_inオプションを設定することが可能ですが、たとえば2週間に設定することが安全ですか? –

9

、従うためのより良い事は次のとおりです。モデル/ user.rbで

を追加します。timeoutableはすでに工夫モジュールのリストを既存します。

class User < ActiveRecord::Base 
    devise :timeoutable 
end 

In config/initializers/devise.rb:タイムアウトパラメータを設定します。

Devise.setup do |config| 
    config.timeout_in = 3.hours 
end 
1

グローバル:

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

Devise.setup do |config| 
    config.timeout_in = 3.hours 
end 

また、それが動的に

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

    def timeout_in 
    if self.admin? 
     1.year 
    else 
     2.days 
    end 
    end 
end 
+1

こんにちは!それは素晴らしいことです!それはよく見えるし、動作します)) – ilgam

+1

はい!あなたは時代を逆転させたいと思うかもしれないが、より多くの特権を持つユーザーがより頻繁に認証されるようにすることをお勧めします... – hooverlunch

関連する問題