Php 检测当前用户

Php 检测当前用户,php,laravel,Php,Laravel,我们与Laravel一起设计了一个网站,该网站: 用户可以注册并登录。 现在考虑一个用户有两个账户。 此用户在其浏览器中创建一个选项卡,然后登录到我们的网站,并使用您的第一个帐户信息登录到其个人资料。 现在用同一个浏览器打开另一个选项卡,这次它用第二个帐户登录到配置文件。 再次,考虑Ajax的站点每分钟都在检查用户。我希望能够在浏览器的首页上检测到它,并刷新该页面,并在用户使用其他帐户登录时将用户发送回我的第二个帐户配置文件 更多 您以用户身份登录到站点。好了,现在您可以从您的个人资料中打开两个

我们与Laravel一起设计了一个网站,该网站: 用户可以注册并登录。 现在考虑一个用户有两个账户。 此用户在其浏览器中创建一个选项卡,然后登录到我们的网站,并使用您的第一个帐户信息登录到其个人资料。 现在用同一个浏览器打开另一个选项卡,这次它用第二个帐户登录到配置文件。 再次,考虑Ajax的站点每分钟都在检查用户。我希望能够在浏览器的首页上检测到它,并刷新该页面,并在用户使用其他帐户登录时将用户发送回我的第二个帐户配置文件

更多
您以用户身份登录到站点。好了,现在您可以从您的个人资料中打开两个选项卡。在选项卡中,选择退出选项。在同一个选项卡中,它再次进入另一个帐户。这里的问题是:另一个选项卡如何理解您已经更改了帐户?

在javascript中,每分钟使用ajax获取当前用户ID。
如果ID更改,请重新加载当前窗口或加载您的站点根。

首先,除注销路由外,所有登录路由都有来宾中间件:

public function __construct()
{
    $this->middleware('guest')->except('logout');
}
因此,除非修改默认登录控制器或编写自己的控制器,否则无法处理第二个登录请求

让我们考虑你已经禁用了中间件,并且你说你有一个Ajax请求来检查用户的登录状态。因此,在处理新的登录请求时,可以从服务器发送重定向请求

$.ajax({
    url: "check login url",
    data: "custom data",
    type: 'post',
    dataType: 'json',
    success: function(result) {
        if (result.redirect) {
            document.location = result.redirect;
        }
    },
    error: function(error) {
        if (error.status == 419) {
            location.reload();
            return false;
        }
    }

});

您还可以使用sessions或laravel cache将上次登录用户名与当前用户名进行比较。

我不是在寻找代码、源代码和结果等。我只是在寻找一种方法。如果你知道这个问题的答案,请描述一下。谢谢您是否使用会话或api进行身份验证?是的,我已经这样做了。您需要澄清第一个问题。对于第二个问题,请尝试搜索类似“处理用户注销多个浏览器选项卡”的内容。这是可能的,但javascript和ijx可以更改,不管我说什么。您以用户身份登录到站点。好了,现在您可以从您的个人资料中打开两个选项卡。在选项卡中,选择退出选项。在同一个选项卡中,它再次进入另一个帐户。问题是:另一个选项卡如何理解您更改了帐户