如何使用一种方法注销任何守卫?

无效的语法

我现在有一种方法可以用来注销任何 sessons/guards,问题是我必须定义每个方法,因为只有两个,所以现在很好。

我想知道是否有办法使这更简单(除了销毁所有会话数据)。

Route::get('/logout', function () {
    Auth::logout();
    Auth::guard('business_user')->logout();
    return redirect()->route('home');
})->name('user.logout');
帕特里克斯

在网络调用之间重置身份验证管理器时,我在我的测试套件中执行了类似的操作。您可以从配置文件中获取已定义的守卫列表,然后遍历这些守卫并调用logout()支持该logout()方法的守卫代码中的注释。

Route::get('/logout', function () {
    // Get a list of all of the defined guards.
    $guards = array_keys(config('auth.guards'));

    // Loop through each guard and logout.
    foreach ($guards as $guard) {
        $guard = app('auth')->guard($guard);

        // Not all guard types have a logout method. The SessionGuard (web) does,
        // the TokenGuard (api) does not. Only call the method if it exists
        // on the guard.
        if (method_exists($guard, 'logout')) {
            $guard->logout();
        }
    }

    return redirect()->route('home');
})->name('user.logout');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何仅使用Sinon模拟一种方法?

如何从另一种方法使用数组?

我如何将一种方法与另一种方法组合使用

如何在另一种方法中使用一种方法的“返回”值

如何仅用一种方法将任何类型的对象作为输入参数传递

另一种方法而不是使用任何循环函数来构建多维数组

使用Moq来验证是否调用了任何一种方法

如何从另一种方法正确调用一种方法

防止在另一种方法中使用一种方法

使用 List 从一种方法到另一种方法

使用一种方法的结果以另一种方法计算价格

如何在没有任何页面过渡或任何重新启动应用程序的情况下使用一种方法

有没有一种方法可以从Jackson ObjectMapper注销模块?

如何使用其中一种方法返回同一接口的对象的接口?

如何创建一种方法,该方法将使用flutter从列表中调用URL

如何在另一种方法的方法中使用来自 HashMap 的数据?

如何在另一种方法中使用一种方法的值。我收到 AttributeError: 'A' object has no attribute 'auth_header'

我如何使用表格视图将选择模型从一种方法获取到其他类的另一种方法?

如何保护一种方法免受不同的请求

gradle测试:如何运行一种方法?

如何模拟接口的一种方法?

如何仅模拟接口的一种方法

如何从Rails框架中重写一种方法?

如何检测一种方法是否是虚拟的?

在另一种方法中使用Return

Anova使用STATSMODELS的一种方法

使用另一种方法的对象实例

在javascript中多次使用一种方法

使用一种方法进行快速排序