首页 > 解决方案 > Laravel 从会话表中的 user_agent 列获取用户浏览器和平台

问题描述

拉拉维尔:8.8

laravel 将用户代理保存在会话表中,例如:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36

这是使用 chrome 浏览器的 windows 用户。

我想从中获取用户浏览器和平台,我怎样才能准确地做到这一点?

我检查jenssegers/agent包和它的真棒,但为此我需要添加platformbrowser列到会话表,这没问题,问题只是我想保存它的方式,我尝试这种方式:

1-使用Illuminate\Auth\Events\Login事件,这意味着当用户登录事件触发时,我将保存平台和浏览器,我在实施中没有问题,在这种情况下,问题是Login它尚未保存会话记录!而且我无法更新录制的内容。我也使用该Illuminate\Auth\Events\Authenticated活动,但该活动根本没有为我举办。

2-使用 laravel 认证方法:

public function authenticated(Request $request, $user)
{
    dd("hi");
}

你可以在用户登录后做一些事情,但是因为我使用了一些单独的登录方法,它不会为所有这些方法运行。

你有什么建议?

提前致谢。

标签: phplaravelauthentication

解决方案


推荐阅读