如何在 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 秒)。

请记住,这不会立即让您的用户退出会话,但他将不得不在下次请求使用该会话的内容(例如受密码保护的页面)时重新登录。