Php 如何在Laravel 5.6中获取哪个用户发送了请求?

Php 如何在Laravel 5.6中获取哪个用户发送了请求?,php,laravel,authentication,request,middleware,Php,Laravel,Authentication,Request,Middleware,我有两个登录面板。一个是管理员,一个是供应商。两者都使用一个通用文件进行其中一个计算 我的问题是,如果两个用户同时在同一个浏览器中登录,那么我如何识别哪个用户向我发送了计算请求 我已经在使用Laravel的multiAuth,它工作得很好 要确定哪个用户已登录,我使用以下代码 if (Auth::guard('admin')->check()) { // Calculations }elseif(Auth::guard('merchant')->check()){ // Ca

我有两个登录面板。一个是管理员,一个是供应商。两者都使用一个通用文件进行其中一个计算

我的问题是,如果两个用户同时在同一个浏览器中登录,那么我如何识别哪个用户向我发送了计算请求

我已经在使用Laravel的multiAuth,它工作得很好

要确定哪个用户已登录,我使用以下代码

if (Auth::guard('admin')->check()) {
  // Calculations
}elseif(Auth::guard('merchant')->check()){
  // Calculations
}
但是当两个用户都登录到同一个浏览器时,它总是会将我发送到第一个状态


那么,有什么方法可以让我知道哪个身份验证向我发送了请求?因此,基于此,我将管理我的计算?

您可以检查路由中间件,以检测当前在身份验证中使用的防护

示例

$middlewares = request()->route()->gatherMiddleware();

foreach ($middlewares as $m) {
    if (preg_match("/auth:/", $m)) {
        list($mid, $guard) = explode(":", $m);
    }
}
$guard
变量将承载当前的保护名称。在if语句中使用相同的语句。

(╯°□°)╯︵