我有一个运行于版本5.2.1上的Rails应用程序 我的应用程序无法保持持续的会话,并且用户需要频繁(一周几次)重新登录。
我希望永久保留用户会话(或至少几年),直到用户自己退出。
我没有更改有关会话时间的任何参数,因此我认为它是默认设置。在这里,如果您能指导我如何更改应用程序的会话时间,将不胜感激。
我使用devise进行登录,这是用户模型配置:
class User < ApplicationRecord
attr_accessor :admin_user, :auth_login
has_ancestry
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable
答案 0 :(得分:2)
请注意用户模型中设备配置上方注释中列出的模块。您可以使用这些模块,而无需使用额外的gem。取消注释:timeoutable
模块的注释,并在devise.rb中设置所需的超时:
# ==> Configuration for :timeoutable
# The time you want to timeout the user session without activity. After this
# time the user will be asked for credentials again. Default is 30 minutes.
config.timeout_in = 3.years