問題描述
我正在 Laravel 5.2 中構建一個非常簡單的應用程序,但是當使用 AuthController
的操作注銷時,它根本不起作用.我有一個導航欄,用于檢查 Auth::check()
并且在調用注銷操作后它不會改變.
I'm building a very simple app in Laravel 5.2, but when using AuthController
's action to log out, it just simply doesn't work. I have a nav bar which checks for Auth::check()
and it doesn't change after calling the log out action.
我在 routes.php 文件中有這個路由:
I have this route inside the routes.php file:
Route::get('users/logout', 'AuthAuthController@getLogout');
它在外面
Route::group(['middleware' => ['web']], function ()
語句.
我也嘗試在 AuthController.php 文件的末尾添加以下操作.
I did also try to add the follow action at the end of the AuthController.php file.
public function getLogout()
{
$this->auth->logout();
Session::flush();
return redirect('/');
}
你有什么想法嗎?
編輯 1
如果我清除 Google 的 Chrome 緩存,它就可以工作.
If I clear Google's Chrome cache, it works.
推薦答案
我在 Laravel 5.2 中也遇到過類似的問題.您應該將路線更改為
I also had similar problem in Laravel 5.2. You should change your route to
Route::get('auth/logout', 'AuthAuthController@logout');
或在 AuthController 構造函數中添加
or in AuthController constructor add
public function __construct()
{
$this->middleware('guest', ['except' => ['logout', 'getLogout']]);
}
這對我有用.
這篇關于Laravel 5.2:Auth::logout() 不起作用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!