当用户在laravel 4.2中离开页面时如何进行自动注销。我使用auth :: atempt登录
答案 0 :(得分:2)
转到/app/config/session.php.
变化
'expire_on_close' => false,
到
'expire_on_close' => true,
答案 1 :(得分:0)
public function GetUsersId()
{
return Session::whereNotNull('user_id')
->where('last_activity', '>=', now()->subMinutes(1))
->pluck('user_id');
}
这将为您提供最近1分钟内的活跃用户。 然后在帮助文件中,您可以编写:
if (!function_exists('SetUsersMode')) {
function SetUsersMode()
{
$OnlineIds = (new App\Session)->GetUsersId();
User::whereNotIn('id', $OnlineIds)->update(['Mode' => 'OFF']);
User::whereIn('id', $OnlineIds)->update(['Mode' => 'ON']);
return true;
}
} 这将查找所有在线用户并将其设置为在线,其余用户也设置为离线。 最后要使用此帮助程序,请在您的composesr.json文件中将以下行添加到autoload部分:
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Helpers.php"
],
现在在您的主布局刀片文件或任何控制器中,您可以像这样简单地使用它:
@php
SetUsersMode();
@endphp
您可以随意命名函数或助手。 这是我几天来发现的最简单的方法。 希望这有助于提高编码速度。