ruby-on-rails - 不使用设计 gem,在 ruby 中 x 分钟后自动注销
问题描述
我没有使用 devise gem 进行登录身份验证,如果用户处于非活动/空闲状态几分钟,我想实现自动注销功能。如何做到这一点请帮帮我。
解决方案
在会话中为每个用户保留少量数据记录将是适用的。例如:
{
user_id: 1000,
timestamp: 1588061624
}
用户登录后在会话中设置此类信息。然后在每个请求上,首先检查会话中最后一次触摸数据是否与所需的超时时间相比不够老。您可以使用类似session timestamp + timeout period > current timestamp
.
如果会话仍然有效,则将时间戳更新为当前值。否则,删除用户会话并将其注销。
推荐阅读
- r - 具有交互项的 LMM 的事后检验
- javascript - 在 Angular 中使用响应式表单和服务
- service-worker - 如何检测客户端是否有来自 Service Worker 的后台同步支持?
- c# - 为什么我的存储过程不能访问多个表?
- codeigniter - 如何在for循环中上传文件时设置自定义文件名?
- xslt - XSL 自动换行问题
- javascript - 如何从多个元素中删除一个类,然后只将一个类添加到 JavaScript 中选择的那个?
- reactjs - 错误:找不到模块 './_Map' reactjs
- php - Laravel 工厂找不到数据库表
- javascript - 如何将数组中对象的 id 链接到 onClick 按钮?