我正在Laravel 5.2中构建一个非常简单的应用程序,但是当使用AuthController
的操作注销时,它只是不起作用.我有一个导航栏,它会检查Auth::check()
并在调用注销操作后不会更改.
我在routes.php文件中有这个路由:
Route::get('users/logout', 'Auth\AuthController@getLogout');
它在外面
Route::group(['middleware' => ['web']], function ()
声明.
我也尝试在AuthController.php文件的末尾添加跟随操作.
public function getLogout() { $this->auth->logout(); Session::flush(); return redirect('/'); }
你有什么想法?
编辑1
如果我清除Google的Chrome缓存,则可以正常运行.
我在Laravel 5.2中也有类似的问题.你应该改变你的路线
Route::get('auth/logout', 'Auth\AuthController@logout');
或者在AuthController构造函数中添加
public function __construct() { $this->middleware('guest', ['except' => ['logout', 'getLogout']]); }
这对我有用.
使用下面的代码
Auth::logout();
要么
auth()->logout();