2012-05-08 9 views
6

Modello:Come configurare il timeout utilizzando il dispositivo?

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

Hai davvero bisogno di formattare il codice con 4 posti – simonmorley

+0

Allora qual è il problema - cosa non funziona? – simonmorley

+0

logout non si verifica dopo 10 sec – user1381579

risposta

5

Si aspetta la pagina per aggiornare e mostrare ancora una volta una pagina di login? Se è così, non è così che funziona la funzione timeoutable. Se ti aspetti di presentarti la pagina di accesso quando aggiorni, rimuovi la parte di timeout dal tuo modello e metti la seguente cosa in devise.rb NOT development.rb. Non dimenticare di riavviare il server delle guide.

config.timeout_in = 1.hour 

questo è documentato nel wiki concepire here

Inoltre, io non sono sicuro circa la logica dietro 10 secondi ?? Sembra un po 'troppo breve. Se non funziona ancora, aumentare (per esempio) cinque minuti e testare.

+0

puoi dirmi come funziona rember_me? – user1381579

+0

Nessun problema. Controlla questo articolo: http://rdoc.info/github/plataformatec/devise/master/Devise/Models/Rememberable – simonmorley

+1

Credo che 10 secondi siano solo per testare –

4

Inoltre è possibile impostare l'opzione timeout_in dinamicamente

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

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