解决Laravel5.2 Auth认证退出失效的问题

2020-09-04 08:18:43

登录正常,但是退出的时候并没有清掉session,退出后还是处于登录状态。解决方法如下:

路由如下

Route::group(['namespace' => 'Admin', 'middleware' => 'auth'], function() {  Route::resource('admin/post', 'PostController');});// 登陆Route::get('auth/login', 'AuthAuthController@getLogin');Route::post('auth/login', 'AuthAuthController@postLogin');// 5.2版本这里的方法需要写成logout,因为在中间件中是这么定义的public function __construct() {    $this->middleware($this->guestMiddleware(), ['except' => 'logout']); } // 路由中的方法要跟上述一致Route::get('auth/logout', 'AuthAuthController@logout');

AuthController.php中的

// 登录成功后跳转地址protected $redirectTo = 'admin/post';// 退出后跳转地址protected $redirectAfterLogout = 'auth/login';

参考 http://stackoverflow.com/questions/34479994/laravel-5-2-authlogout-is-not-working

调试过程中在AppserviceProvider的boot方法里添加输出sql也会导致类似的错误,所以在登录调试时,尽量不要这样做

  /**   * Bootstrap any application services.   *   * @return void   */  public function boot()  {    // DB::listen(function($sql) {    //     dump($sql->sql);    //   });  }
相关文章 大家在看