如果他/她的会话超时,我想将用户重定向到登录页面。如果用户单击我网页的任何链接,我如何将我的用户重定向到登录页面。链接可以是 ajax 调用或页面重新加载调用。
问问题
249 次
2 回答
0
您应该需要在控制器中调用 before_filter 函数。
您需要在控制器中添加此行,例如,
Class NAMEsController < ApplicationController
before_filter :authenticate_user!
为此,您需要确保在项目中安装了“设备”gem。
(或者)
而不是调用before_filter :authenticate_user!
在您的控制器中编写您自己的函数来调用authenticate_user!
. 就像是:
before_filter :logged_in
private
def logged_in
your_function
authenticate_user!
end
对于 ajax 调用,您需要自己动手。试试这个作为起点。
before_filter :login_required, :only => [:index]
before_filter(:only => :index) do |controller|
login_required unless controller.request.format.js?
end
你需要做一些自定义的测试脚本。它只是一个整理的想法。我不确定它是否工作正常。
于 2012-10-26T11:14:31.340 回答
0
您可以使用控制器中的 before_filter 功能轻松实现这一点...
这些过滤器将检查有效会话,如果它过期......将用户重定向到登录页面......还可以检查 Rails 中的 Notifications API
于 2012-10-26T07:01:36.027 回答