登錄正常,但是退出的時候并沒有清掉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認證退出失效的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel 默認郵箱登錄改成用戶名登錄的實現方法
- laravel5.4利用163郵箱發送郵件的步驟詳解
- 在Laravel框架里實現發送郵件實例(郵箱驗證)
- Laravel 5框架學習之用戶認證
- 詳解Laravel5.6 Passport實現Api接口認證
- Laravel5.5中利用Passport實現Auth認證的方法
- Laravel實現用戶多字段認證的解決方法
- Laravel認證原理以及完全自定義認證詳解
- Laravel多用戶認證系統示例詳解
- laravel實現Auth認證,登錄、注冊后的頁面回跳方法
- laravel框架郵箱認證實現方法詳解