【问题标题】:Rails: How to enable permenant session?Rails:如何启用永久会话?
【发布时间】:2019-01-15 17:50:59
【问题描述】:

我有一个运行版本为 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

【问题讨论】:

  • 你用什么登录?设计?
  • 是的,我使用设计并更新了问题以突出显示它。
  • 能否显示您在模型中配置设计的行(以devise)开头
  • 我在用户模型中添加了设计相关的配置
  • @Tolga 你解决了这个问题吗?如果回答对你有帮助,请采纳。

标签: ruby-on-rails session


【解决方案1】:

请注意 User 模型中设计配置上方注释中列出的模块。您可以在不使用额外 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 2013-10-11
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    相关资源
    最近更新 更多