程序员

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

作者:admin 2021-09-10 我要评论

登录正常,但是退出的时候并没有清掉session,退出后还是处于登录状态。解决方法如下: 路由如下 Route::group(['namespace' = 'Admin', 'middleware' = 'auth']...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

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

路由如下

Route::group(['namespace' => 'Admin', 'middleware' => 'auth'], function() {
  Route::resource('admin/post', 'PostController');
});


// 登陆
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
// 5.2版本这里的方法需要写成logout,因为在中间件中是这么定义的
public function __construct()
 { 
   $this->middleware($this->guestMiddleware(), ['except' => 'logout']);
 }
 // 路由中的方法要跟上述一致
Route::get('auth/logout', 'Auth\AuthController@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);
    //   });
  }

以上这篇解决Laravel5.2 Auth认证退出失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持站长技术。


原文链接:https://m.jb51.net/article/171887.htm

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 解决Laravel5.2 Auth认证退出失效的问

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

  • Laravel实现ApiToken认证请求

    Laravel实现ApiToken认证请求

  • 在laravel框架中实现封装公共方法全局

    在laravel框架中实现封装公共方法全局

  • 在Laravel 的 Blade 模版中实现定义变

    在Laravel 的 Blade 模版中实现定义变