问题描述
我正在 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() 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!