首页 > 解决方案 > Rails设计超时立即重定向

问题描述

我正在使用设计超时表来使会话过期,但是重定向仅在页面刷新或更改后发生。会话到期后重定向登录的好解决方案是什么?

标签: ruby-on-railsdevise

解决方案


您需要使用一些客户端代码来跟踪。如果页面是静态的,您可以在 javascript 中执行此操作:

//  Redirect 15 minutes after page loads.
setTimeout(function(){ window.location.href="the_new_place"; }, 1000 * 60 * 15);

如果您的页面有一些用户控件,并且您希望在用户编辑某些内容时保持会话处于活动状态,请查看https://github.com/epigenesys/session-timeout-prompter

ActionCable 是另一种可能性,但出于此目的,这可能有点笨拙。


推荐阅读