如何在用户理想时为 Laravel 中的每个用户设置不同的自动注销时间
How to set Different Auto logout time for each user in Laravel when user is ideal
我在他的个人资料中为每个用户设置了一个以分钟为单位的时间,该用户应该会在该时间后自动注销。
示例:
用户 1:自动注销时间 => 60 分钟
用户 2:自动注销时间 => 120 分钟
用户 3:自动注销时间 => 150 分钟
因此登录后,用户 1 应在登录 60 分钟后注销,用户 2 应在 120 分钟后注销,用户 3 应在登录 150 分钟后注销。有谁知道如何实现这一点?
我正在考虑为每个登录请求更改 session.php 文件的会话生命周期,但不知道它是否有效。
提前致谢。
为此你可以使用 setInterval
javascript 函数
var timeoutSeconds = <?php echo Session::get('timeoutSeconds'); ?>
var _idleSecondsCounter = 0;
window.setInterval(CheckIdleTime, timeoutSeconds);
function CheckIdleTime() {
_idleSecondsCounter++;
var oPanel = document.getElementById("SecondsUntilExpire");
if (oPanel)
oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + "";
if (_idleSecondsCounter >= IDLE_TIMEOUT) {
document.getElementById('logout-form').submit();
}
}
在登录控制器中,您可以像这样设置会话
$userCount = 1;
$timeOutSeconds = 60 * $userCount;
Session::put('timeoutSeconds', $timeOutSeconds);
对于服务器端
在 Laravel 中创建后台作业并在登录方法后执行延迟调度。
我在他的个人资料中为每个用户设置了一个以分钟为单位的时间,该用户应该会在该时间后自动注销。
示例:
用户 1:自动注销时间 => 60 分钟
用户 2:自动注销时间 => 120 分钟
用户 3:自动注销时间 => 150 分钟
因此登录后,用户 1 应在登录 60 分钟后注销,用户 2 应在 120 分钟后注销,用户 3 应在登录 150 分钟后注销。有谁知道如何实现这一点?
我正在考虑为每个登录请求更改 session.php 文件的会话生命周期,但不知道它是否有效。
提前致谢。
为此你可以使用 setInterval
javascript 函数
var timeoutSeconds = <?php echo Session::get('timeoutSeconds'); ?>
var _idleSecondsCounter = 0;
window.setInterval(CheckIdleTime, timeoutSeconds);
function CheckIdleTime() {
_idleSecondsCounter++;
var oPanel = document.getElementById("SecondsUntilExpire");
if (oPanel)
oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + "";
if (_idleSecondsCounter >= IDLE_TIMEOUT) {
document.getElementById('logout-form').submit();
}
}
在登录控制器中,您可以像这样设置会话
$userCount = 1;
$timeOutSeconds = 60 * $userCount;
Session::put('timeoutSeconds', $timeOutSeconds);
对于服务器端
在 Laravel 中创建后台作业并在登录方法后执行延迟调度。