Mes sessions avec devise expirent après 1 à 3 heures d'inactivité (je ne suis pas sûr exactement combien de temps). Comment puis-je ajuster cela?
J'ai examiné la documentation et je ne semble pas trouver de paramètre pour cela.
Mes sessions avec devise expirent après 1 à 3 heures d'inactivité (je ne suis pas sûr exactement combien de temps). Comment puis-je ajuster cela?
J'ai examiné la documentation et je ne semble pas trouver de paramètre pour cela.
Regardez dans config/initializers/devise.rb. Il y a beaucoup de paramètres de configuration incluant config.timeout_in
. Le défaut dans ma version est de 30 minutes. Vous pouvez également le définir sur le modèle lui-même :
class User < ActiveRecord::Base
devise :timeoutable, :timeout_in => 15.minutes
Vous pouvez maintenant également définir le timeout dynamiquement.
Avec Rails4, la meilleure chose à suivre est:
Dans models/user.rb: Ajoutez :timeoutable à la liste déjà existante des modules devise.
class User < ActiveRecord::Base
devise :timeoutable
end
Dans config/initializers/devise.rb: Définissez le paramètre de timeout.
Devise.setup do |config|
config.timeout_in = 3 heures
end
Global:
class User < ActiveRecord::Base
devise (...), :timeoutable
end
Devise.setup do |config|
config.timeout_in = 3 hours
end
Aussi, il est possible de définir dynamiquement l'option timeout_in
class User < ActiveRecord::Base
devise (...), :timeoutable
def timeout_in
if self.admin?
1 an
else
2 jours
end
end
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.