Php 如果浏览器关闭了laravel,则自动注销
如何在用户离开laravel 4.2中的页面时自动注销。我使用auth::atempt登录转到Php 如果浏览器关闭了laravel,则自动注销,php,laravel,Php,Laravel,如何在用户离开laravel 4.2中的页面时自动注销。我使用auth::atempt登录转到/app/config/session.php。 改变 'expire_on_close' => false, 到 经过几天的努力,终于找到了解决这个问题的办法。 我们可以用助手来做这件事 例如,如果将会话表用于存储会话,则可以执行以下操作: 在session.php中: public function GetUsersId() { return Session::whereNotNul
/app/config/session.php。
改变
'expire_on_close' => false,
到
经过几天的努力,终于找到了解决这个问题的办法。 我们可以用助手来做这件事 例如,如果将会话表用于存储会话,则可以执行以下操作: 在session.php中:
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;
}
}
这将查找所有在线用户并将其设置为在线,同时将其余用户设置为离线。
最后,要使用此帮助程序,请在composer.json文件中向“自动加载”部分添加以下行:
"autoload": {
"psr-4": {
"App\\": "app/"
},
"files": [
"app/Helpers.php"
],
现在,在主布局刀片文件或任何控制器中,您可以简单地使用它,如下所示:
@php
SetUsersMode();
@endphp
您可以根据需要命名函数或助手。
这是我在几天内找到的最简单的方法。
希望这有助于加速编码。不起作用,还可以访问Route::group(array('before'=>'auth')、function(){..})中的url@我也有同样的问题。你找到解决办法了吗?
@php
SetUsersMode();