2012-05-08 13 views
6

Model:Jak skonfigurować limit czasu za pomocą urządzenia 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

Naprawdę trzeba formatować kod z 4 pomieszczeń – simonmorley

+0

Więc w czym problem - co nie działa? – simonmorley

+0

Wylogowanie się nie dzieje po 10 sekundach – user1381579

Odpowiedz

5

Czekasz na stronę, aby odświeżyć i pokazać strona logowania? Jeśli tak, to nie działa funkcja limitu czasu. Jeśli spodziewasz się, że wyświetli stronę logowania podczas odświeżania, usuń część timeout z modelu i umieść w pliku devise.rb NOT development.rb. Nie zapomnij zrestartować serwera szyn.

config.timeout_in = 1.hour 

To wszystko jest udokumentowane w wiki opracować here

Ponadto, nie jestem pewien co do logiki 10 sekund ?? Wydaje się trochę za krótki. Jeśli nadal nie działa, zwiększ (na przykład) pięć minut i przetestuj.

+0

możesz mi powiedzieć, jak działa rember_me? – user1381579

+0

Bez problemu. Sprawdź ten artykuł: http://rdoc.info/github/plataformatec/devise/master/Devise/Models/Rememberable – simonmorley

+1

Wierzę, że 10 sekund to tylko testowanie –

4

Również jest możliwe ustawienie opcji timeout_in dynamicznie

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

    def timeout_in 
    if self.admin? 
     1.year 
    else 
     2.days 
    end 
    end 
end 
Powiązane problemy