Php 如何在多重身份验证Laravel应用程序中通过当前路由获取当前防护?

Php 如何在多重身份验证Laravel应用程序中通过当前路由获取当前防护?,php,laravel,laravel-5.6,Php,Laravel,Laravel 5.6,我想按现在的路线找到现在的警卫。我不想知道一个用户是否通过一个特定的保护进行了身份验证 如果需要实际防护的实例: Auth::guard(); // calls to what is currently set as default 如果您需要驾驶员/警卫的姓名: Auth::getDefaultDriver(); // name of the current default 默认防护通过配置设置。auth中间件在运行时也会设置默认保护。如果中间件被设置为auth:admin,并且用户进行身

我想按现在的路线找到现在的警卫。我不想知道一个用户是否通过一个特定的保护进行了身份验证

如果需要实际防护的实例:

Auth::guard(); // calls to what is currently set as default
如果您需要驾驶员/警卫的姓名:

Auth::getDefaultDriver(); // name of the current default

默认防护通过配置设置。
auth
中间件在运行时也会设置默认保护。如果中间件被设置为
auth:admin
,并且用户进行身份验证,则您可以进入路由,默认的防护现在将是
admin

在这种情况下,是什么使防护成为“当前”防护?路由指定的控制器使防护成为当前防护。我想在Blade Scope中获取当前的guard,您正在通过“auth”中间件进行此操作?在控制器的结构中,中间件设置为auth:admin。您可以使用
auth::shouldUse('admin')将当前使用的guard更改为您想要的
然后,无论何时调用
Auth::guard()
它都将返回admin而不是默认的guard