首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on Rails -会话到期后呈现登录页面

Ruby on Rails -会话到期后呈现登录页面
EN

Stack Overflow用户
提问于 2013-06-17 13:16:29
回答 1查看 980关注 0票数 0

我希望在我的rails应用程序中会话到期后呈现登录页面。我没有使用任何gem进行身份验证。如果有任何帮助,我们将不胜感激。下面是我的应用程序控制器。

代码语言:javascript
复制
class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception
  before_filter :session_expiry, :except => [:login]

  def current_user
    if session[:user_id].nil?
      false
    else
      true
    end
  end
  helper_method :current_user 

  def session_expiry
    expire_time = session[:expires_at] || Time.now
    @time_left = (expire_time - Time.now).to_i
    unless @time_left > 0
      reset_session
      flash[:error] = 'Session Timeout!'
    end
  end
end
EN

回答 1

Stack Overflow用户

发布于 2013-06-17 15:27:18

也许您必须在application_controller.js中定义另一个方法来检查会话是否过期,如果是,则重定向:

代码语言:javascript
复制
def redirect_to_login_if_session_expire
  redirect_to(login_path) if session[:user_id].nil?
end

其中:user_id可以是current_user.id

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17140816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档