如何节省用户注销的时间?(已关闭)



i使用Laravel 5.8身份验证和授权。我有一个管理公司和工人的"管理员"。当管理员登录时,我想显示新公司和用户是什么 自上次管理会话以来创建。为此,我想存储在 当管理员的会话完成并从数据库查询时数据库时间 自上次会议以来,所有公司和工人都创造了什么。 如果管理员使用logout,我可以将时间存储在数据库中,但是如何 存储时间如果管理员仅关闭选项卡??

- - - - - - - - - - - - - - - - * -

我创建了中间件,以节省上次请求的时间:

public function handle($request, Closure $next)
    {
        if(Auth::check()){
            $id = Auth::id();
            Admin::whereId($id)->update(['last_enter' => now("Europe/Moscow")]);
        }
        return $next($request);
    }

,因为您只想使用laravel进行拱起,所以我建议您检查middlewares。您可以拥有一个中间件,请求将通过,因此您的最后一个请求是您最后一次使用它。

在这里,您可以在Laravel中了解有关中间件的更多信息。

轶事,您可以将sendBeaconunload事件一起发送请求。我必须使用它来捕获用户观看视频的时间,如果他们关闭了我需要记录的标签,则此方法对我一致。

window.addEventListener('unload', function() {
    navigator.sendBeacon('your-url',
      JSON.stringify({})
    );
}, false);

另外,您可以在用户关闭窗口将注销时间设置为会话超时时间的那些情况下,例如:sign-in-time + session-timeout-time = logout-time,但同样,这不是"准确"。<<<<<<<<<<<<<</p>

最新更新