- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 config.php 文件中有 $config['sess_expiration'] = 7200;
,这意味着该 session 持续 2 小时。
默认情况下, session 是在用户登录时创建的。现在我想根据用户空闲状态结束 session 。
因此,当用户在页面上处于事件状态时,我需要更新 session 。
例如
每 2 分钟通过 ajax 向服务器轮询一次当前用户状态,IDLE
或 ACTIVE
如果状态为 ACTIVE
,那么我想从 ajax 调用开始将 session 超时延长/更新/更新 2 小时。
事实上,如果状态是IDLE
,我将在网页上运行一个计时器,在它达到超时(2 小时)之前,我需要向用户显示警告 ==>
“您的当前 session 即将到期。您要续订 session 吗?”
如果用户单击YES
,那么我想将 session 再延长 2 小时,否则我将发送一个 LOG OUT 命令。
所以问题是:我如何以编程方式更新/更新/延长 session 超时?
还有没有其他更好的解决方案。
我正在使用 PHP 5、Codeigniter 2.x、Bitauth(用户身份验证)。
谢谢
最佳答案
只需使用 $config['sess_time_to_update'] = 30;//seconds
如果用户空闲并且 session expiration
时间结束,即 $config['sess_expiration'] = 7200;
将更新 session 超时,然后用户点击任何链接都会自动注销,因为 CI 检查每个请求的 session 是否 session expiration
时间是否超过到期时间然后你的 session 被销毁。如果用户在一小时后点击任何请求,那么您的 sess_time_to_update
会将 sess_expiration
更新为从现在到两个小时。默认情况下,CI 在定义的时间间隔内创建一个新的 session ID $config['sess_time_to_update'] = 30;
即每 30 秒后将创建一个新的 session ID
要深入观察,您可以在库 sess_update()
中看到 Session.php
是更新 session 的函数,因此您可以很好地了解 CI 的作用如果你没有使用database
session,那么 CI 会将信息存储在 cookie 中,否则它会将数据存储在 ci_sessions
表中
关于php - extent codeigniter session 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17503144/
extent 是用来添加新数据的吗?什么是 segment 又是如何重新发布到 extent 的? 最佳答案 简而言之,每个非分区表、索引、表分区等都有 1 个段 来保存其数据。每个段由一个或多个范围
我是 D3 的新手。我刚开始从 csv 文件创建散点图。但是,我发现 d3.extent 给出了错误的范围,如下所述。我不知道我做错了什么。 数据(在 Python 中创建的 csv 格式)具有以下范
我正在尝试了解 jquery 扩展方法,根据 API documentation The merge performed by $.extend() is not recursive by defau
我已经通过使用绘图工具成功创建了一个 esri.geometry.Geometry.Extent 对象。在我的 addToMap 函数中,它是 onDrawEnd 事件的回调,我想提取框的四个 Ang
我正在编写一个基于 Mike Bostocks 示例的 d3 小部件 http://bl.ocks.org/mbostock/1667367因此,我尝试使用预定义日期设置画笔范围,但范围矩形不适用于这
我想在 GUI 中放置一些文本,我想知道 'text' 类型的 uicontrol 需要的确切大小! 我发现有几个线程解释说这可以使用包含相同文本的 'text' 对象的 'Extent' 属性来完成
我首先使用 EF6 代码来创建我的数据库。昨晚一切正常,现在当我运行 update-database 命令时,出现以下异常: PM> update-database Specify the '-Ver
我正在尝试使用 std::extent 获取二维数组的第二维,但输出为 0 . #include #include int32_t main(int32_t argc, char *argv[])
在此示例中,我在动态设置 Y 比例时遇到问题。如果有人可以提供帮助,我会很高兴!我能够完美地获得 X 轴设置,但我找不到如何引用 Y 数据来定义轴的范围。现在我的比例从-2到500,代码中不起作用的部
尝试在 Windbg 中使用 !heap 扩展来调查转储时,出现以下错误: 0:000> !heap -s -v -a SEGMENT HEAP ERROR: failed to initialize
我读了here Common Lisp 中的动态范围声明“允许实现忽略”,我想知道它是否在 CLISP 实现中实际上被忽略了。 我已尝试使用以下代码进行测试: (let ((b (cons 1 2))
说我有 #include using intArray3D = boost::multi_array; 我想创建一堆具有相同形状的 intArray3D: auto my_shape = boost
我的 config.php 文件中有 $config['sess_expiration'] = 7200;,这意味着该 session 持续 2 小时。 默认情况下, session 是在用户登录时创
当我尝试将屏幕截图添加到 klov 报告时,会捕获此异常。 Servlet.service() for servlet [dispatcherServlet] in context with path
所以我的“ View ”程序集中有这个 xaml 代码: 在“view-model”组件中,我将一些数据加载到 Scat
我有一个散点图,它使用约束松弛来消除它绘制的点的标签冲突 ( Plunker here )。问题是,当我放松约束时,这会导致点标签和 x 轴标签之间发生冲突。轴是使用 d3.extent 和 d3.s
我有一个看起来像这样的对象, { "1420165140": 172.52, "1420254360": 63.78, "1420341900": 141.55, "1
我想在 Extent 报告中的 Selenium 测试的每个步骤后记录评论。因此,当某个步骤抛出异常时,我想捕获堆栈跟踪并将其打印在 Extent Reports 上。我在网上找不到任何帮助。有没有人
gnuc++ 4.8.2 extent实现如下: /// extent template struct extent: public integral_constant {static const i
在 openlayers 3 应用程序中,我能够检索边界范围并适合 View 。但是我现在想通过使用边界范围来创建要素/多边形。 let boundingExtent = ol.extent.
我是一名优秀的程序员,十分优秀!