【问题标题】:I can't logout with laravel我无法使用 laravel 注销
【发布时间】:2021-06-15 12:11:36
【问题描述】:

我正在开发我的第一个 laravel 项目,在该项目中我制作了一个管理面板,以使管理员能够控制网站。我尝试将管理员登录到仪表板,一切都很好,当我尝试将他注销时,没有任何效果,页面只是重新加载并重定向回来。

这是我的退出按钮:

<a class="navbar-brand btn btn-primary btn-lg"
 href="{{route('admin.logout'))}}"> log out</a>

我的路线:

 Route::get('logout', 'LoginController@logout')->name('admin.logout');

还有我的控制器:

use Illuminate\support\Facades\Auth;


  public function logout(Request $request){
     
       Auth::logout();

        return redirect()->route('get.admin.login')
        ->with(['success'=>'logged out successfully']);
    }

我使用了 laravel 官方文档中的 Auth::logout(); 方法,但是没有用。 我希望我能找到帮助。

【问题讨论】:

  • 你的 laravel 版本是什么?这是在 auth 构造函数中发生的。将您的路由名称更改为注销到另一个类似的注销或另一个,它将解决问题
  • 我的版本是 laravel 7
  • 我更改了路线名称但仍然无法正常工作

标签: php laravel


【解决方案1】:

当你在那个函数中使用Auth::logout()

public function logout(Request $request) {
    Auth::logout(); 
    return redirect('/login');
}

这里Auth:: 将为空 所以申请middleware 获取Auth 实例然后你就可以注销了

Route::get('logout', 'LoginController@logout')->name('admin.logout')->middleware('auth');

【讨论】:

    【解决方案2】:

    您可以在控制器中使用以下内容:

    return redirect('login')->with(Auth::logout());
    

    【讨论】:

      【解决方案3】:

      您可以使用以下代码注销管理员。

      Auth::logout(); 
      return redirect('/login');
      

      【讨论】:

        猜你喜欢
        • 2015-01-05
        • 2021-04-10
        • 1970-01-01
        • 1970-01-01
        • 2020-12-07
        • 2016-02-13
        • 2020-08-12
        • 2015-07-28
        • 2017-12-25
        相关资源
        最近更新 更多