如何在 codeigniter 中强制用户在 30 分钟后注销(例如)
how can force user to logout after 30 minutes(for example) in codeigniter
有没有办法,如果用户在 30 分钟内有任何 activity,该用户会自动注销。
我在 Codeigniter 中使用 Ion_auth 身份验证。
您尝试过使用会话吗?您可以将会话变量设置为在 30 分钟后过期,系统将检查是否处于非活动状态。一旦会话超时,它会自动注销用户。
30 分钟后使用 javascript 重定向到注销页面:
window.setTimeout(function(){
window.location.href = "/logout";
}, 1800000);
在开始会话之前,您可以设置会话 cookie 的生命周期,以秒为单位定义。
例如:
session_set_cookie_params(43200,"/");
session_start();
12 小时 = 12 * 60 分钟 = 12 * 60 * 60 秒 => 43200 秒
现在您的会话将在 12 小时后到期
对于您的示例:30 分钟 * 60 秒 => 1800 秒
参考资料:http://php.net/manual/en/function.session-set-cookie-params.php
检查文件 system/cms/config.php
并将选项 $config['sess_expiration']
设置为您想要的值(以秒为单位,因此 30 分钟为 1800 秒)。
请记住,这不会立即让您的用户退出会话,但他将不得不在下次请求使用该会话的内容(例如受密码保护的页面)时重新登录。
有没有办法,如果用户在 30 分钟内有任何 activity,该用户会自动注销。 我在 Codeigniter 中使用 Ion_auth 身份验证。
您尝试过使用会话吗?您可以将会话变量设置为在 30 分钟后过期,系统将检查是否处于非活动状态。一旦会话超时,它会自动注销用户。
30 分钟后使用 javascript 重定向到注销页面:
window.setTimeout(function(){
window.location.href = "/logout";
}, 1800000);
在开始会话之前,您可以设置会话 cookie 的生命周期,以秒为单位定义。
例如:
session_set_cookie_params(43200,"/");
session_start();
12 小时 = 12 * 60 分钟 = 12 * 60 * 60 秒 => 43200 秒 现在您的会话将在 12 小时后到期
对于您的示例:30 分钟 * 60 秒 => 1800 秒
参考资料:http://php.net/manual/en/function.session-set-cookie-params.php
检查文件 system/cms/config.php
并将选项 $config['sess_expiration']
设置为您想要的值(以秒为单位,因此 30 分钟为 1800 秒)。
请记住,这不会立即让您的用户退出会话,但他将不得不在下次请求使用该会话的内容(例如受密码保护的页面)时重新登录。