Ruby on rails 如何设置rails HTTP身份验证的超时?

Ruby on rails 如何设置rails HTTP身份验证的超时?,ruby-on-rails,authentication,Ruby On Rails,Authentication,我在网站的一些控制器上使用rails HTTP摘要身份验证。就我而言,它工作得很好,但超时很快 如何调整HTTP摘要身份验证的超时参数? 如何实现HTTP基本身份验证的注销 谢谢,如果用户离开网站或关闭浏览器等,并且您希望他们保持登录状态: 在会话控制器中: def create member = Member.find_by_user_name(params[:user_name]) if member && member.authenticate(params

我在网站的一些控制器上使用rails HTTP摘要身份验证。就我而言,它工作得很好,但超时很快

如何调整HTTP摘要身份验证的超时参数? 如何实现HTTP基本身份验证的注销


谢谢,

如果用户离开网站或关闭浏览器等,并且您希望他们保持登录状态:

在会话控制器中:

def create
    member = Member.find_by_user_name(params[:user_name])
    if member && member.authenticate(params[:password])
      session[:member_id] = member.id
      if params["remember_me"] == "1"
        cookies[:digest] = {:value => member.password_digest, :expires => Time.now + 720000}
      else
        cookies[:digest] = nil
      end
      redirect_to (url_to_go_to_after_login), :notice => "Logged in!"
    else
      redirect_to (login_url), :alert => "Invalid email or password"
    end
  end
如何注销用户:

  def destroy
    session[:member_id] = nil
    cookies[:digest] = nil
    redirect_to url_to_go_to_after_logout, :notice => "Logged out!"
  end
如何从Memberme cookie登录用户:

  def new
    if member = Member.find_by_password_digest(cookies[:digest])
      session[:member_id] = member.id
      redirect_to (url_to_go_to_after_login), :notice => "Hello#{member.first_name}"
    end
  end
要设置以后的过期时间(应在rails>2.3中工作):


感谢Max的反馈,这是一个完整的解决方案,我只需要您在上面添加的到期时间帮助。
Your::Application.config.session_store :active_record_store, {
  key: "your_session_id",
  domain: ".your-domain.com",
  expire_after: 48.hours,
}