登录正常,但是退出的时候并没有清掉session,退出后还是处于登录状态。解决方法如下:
路由如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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中的
1
2
3
4
|
// 登录成功后跳转地址
protected $redirectTo = 'admin/post' ;
// 退出后跳转地址
protected $redirectAfterLogout = 'auth/login' ;
|
参考 http://*.com/questions/34479994/laravel-5-2-authlogout-is-not-working
调试过程中在AppserviceProvider的boot方法里添加输出sql也会导致类似的错误,所以在登录调试时,尽量不要这样做
1
2
3
4
5
6
7
8
9
10
11
|
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
// \DB::listen(function($sql) {
// dump($sql->sql);
// });
}
|
以上这篇解决Laravel5.2 Auth认证退出失效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/fationyyk/article/details/51514366