当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-02 13:56:33 浏览: 评论:0 

今天在做登陆认证时遇到了个问题,以为是我的解决方法,希望对大家有所帮助吧。

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

路由如下

  1. Route::group(['namespace' => 'Admin''middleware' => 'auth'], function() { 
  2.   Route::resource('admin/post''PostController'); 
  3. }); 
  4.  
  5.  
  6. // 登陆 
  7. Route::get('auth/login''Auth\AuthController@getLogin'); 
  8. Route::post('auth/login''Auth\AuthController@postLogin'); 
  9. // 5.2版本这里的方法需要写成logout,因为在中间件中是这么定义的 
  10. public function __construct() 
  11.  {  
  12.    $this->middleware($this->guestMiddleware(), ['except' => 'logout']); 
  13.  } 
  14.  // 路由中的方法要跟上述一致 
  15. Route::get('auth/logout''Auth\AuthController@logout'); 

AuthController.php中的

  1. // 登录成功后跳转地址 
  2. protected $redirectTo = 'admin/post'
  3. // 退出后跳转地址 
  4. protected $redirectAfterLogout = 'auth/login'

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

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

  1. /** 
  2.  * Bootstrap any application services. 
  3.  * 
  4.  * @return void 
  5.  */ 
  6. public function boot() 
  7.   // \DB::listen(function($sql) { 
  8.   //     dump($sql->sql); 
  9.   //   }); 
  10. }

Tags: Laravel5 2 Auth认证退出

分享到: