Laravel 5.2 身份验证总是重定向到登录页面(可能是会话不持久)


Laravel 5.2 Auth always redirect to login page (maybe session not persisting)

编辑:问题"解决",我降级到5.1。

我从一刻起就遇到了Laravel 5.2的问题:

  • 拉拉维尔的会议(_token)有效,但我的不工作,
  • 身份验证始终重定向到登录页面。

我在互联网上寻找解决方案,我尝试了几个,但没有一个有效。

这是我的代码:

adminController@login:

$userdata = array(
    'username' => $request->get('username'),
    'password' => $request->get('password'),
);
if(Auth::validate($userdata))
{
    if(Auth::attempt($userdata)) {
        return redirect()->intended('admin-dashboard');
    }else{
        return redirect('admin-login')->with('error', 'Nom d''utilisateur ou mot de passe incorrect !');
    }
}else{
    return redirect('admin-login')->with('error', 'Nom d''utilisateur ou mot de passe incorrect !');
}

路线.php:

Route::group(['middleware' => 'web'], function () {
    Route::post('postAdminLogin', ['as' => 'postAdminLogin', 'uses' => 'adminController@login']);
    Route::group(['middleware' => 'auth'], function() {
        Route::get('admin-dashboard', ['as' => 'admindashboard', 'uses' => 'adminController@index']);
    });
});

中间件组:

protected $middlewareGroups = [
    'web' => [
        'App'Http'Middleware'EncryptCookies::class,
        'Illuminate'Cookie'Middleware'AddQueuedCookiesToResponse::class,
        'Illuminate'Session'Middleware'StartSession::class,
        'Illuminate'View'Middleware'ShareErrorsFromSession::class,
        'App'Http'Middleware'VerifyCsrfToken::class,
    ],
    'auth' => [
        'App'Http'Middleware'Authenticate::class,
    ],
    'api' => [
        'throttle:60,1',
    ],
];

adminController@index:

public function index(){
  if (Auth::check()) {
    return "ok";
  }
}

如果你们中的一个人能帮助我,我将不胜感激。

我遇到了类似的问题,即我的权限未正确设置为storate/framework/sessions/(即应用程序无法创建会话文件)。

对于遇到类似问题的任何人,一般解决方法可能是将驱动程序更改为 database 。无论如何,当您运行php artisan make:auth时,artisan会自动创建sessions架构。

只需更改config/session.php

'driver' => env('SESSION_DRIVER', 'driver'),