2011-02-01 27 views
28

Seansları 1-3 saat kullanım dışı kaldıktan sonra (tam olarak ne kadar uzun sürdüğünden emin olmadan) zaman aşımına uğradı. Bunu nasıl ayarlayabilirim?Oturum uzunluğunu Devise ile ayarlama

Dokümanlara baktım ve bunun için bir ayar bulamıyor gibi görünmüyor.

Teşekkür config/başlatıcıları/devise.rb içinde

cevap

62

bak. config.timeout_in dahil birçok yapılandırma ayarı vardır. Benim versiyonumdaki varsayılan 30 dakikadır.

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

yapabilirsiniz şimdi de set the timeout dynamically: Ayrıca modele kendisinde ayarlayabilirsiniz.

+0

örneğin 2 hafta olarak ayarlayın güvenli mi? –

9

Rails4 ile takip etmek daha iyi bir şeydir:

modellerinde/user.rb: ekleyin: zaten vasiyet modüllerin listesini varolan timeoutable.

class User < ActiveRecord::Base 
    devise :timeoutable 
end 

Yapılandırmada/başlatıcılarda/devise.rb: Zamanaşımı parametresini ayarlayın. Küresel

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 

Ayrıca timeout_in seçeneği ayarlamak mümkündür dinamik

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

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

Hey maaan! Bu harika! iyi görünüyor ve çok çalışıyor)) – ilgam

+1

Evet! Muhtemelen orada zamanları tersine çevirmek isteyebilirsiniz. Kullanıcıları daha fazla yetki ile daha sık yapmak daha iyi ... – hooverlunch

İlgili konular