我正在寻找解决方案,以达到理想的行为。
运行由Devise处理身份验证的Rails3应用程序。我想检测任何用户在登录时返回该网站(使用remember_me
Cookie)。
我的目标是将他重定向到特定页面(因为我已在after_sign_in_path_for
上执行此操作。)
我的问题不在于检测用户是否signed_in?
,而是确保他在两分钟之前没有在网站上导航(我更愿意避免基于时间的策略......)< / p>
有什么猜测吗?
答案 0 :(得分:0)
我自己的答案,我的问题......
我发布的问题太快了。
解决方案非常简单,Rails在每次请求后创建一个会话cookie,我们只需检查它是否存在:
def user_returning?
user_signed_in? && session[:session_id].blank?
end
我正在混合Devise会话,它可以在浏览器关闭之间存在,会话cookie会在每次浏览器关闭后被销毁。
user_returning?
让我知道用户是否已回来访问该网站,而他已登录...