Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向到新页面后缺少Laravel身份验证会话_Php_Laravel - Fatal编程技术网

Php 重定向到新页面后缺少Laravel身份验证会话

Php 重定向到新页面后缺少Laravel身份验证会话,php,laravel,Php,Laravel,我正在使用laravel的Auth进行登录过程,并在数据库中使用用户名和密码对我的应用程序进行身份验证。这是我的登录功能: public function doLogin(Request $req) { if (Auth::attempt(['email' => $req->email, 'password' => $req['password']])) { return redirect('/'); } else { retur

我正在使用laravel的Auth进行登录过程,并在数据库中使用用户名和密码对我的应用程序进行身份验证。这是我的登录功能:

public function doLogin(Request $req) {
    if (Auth::attempt(['email' => $req->email, 'password' => $req['password']])) {
        return redirect('/');
    } else {
        return redirect('/login')->with('statusFail', 'true');
    }
}
我创建的路线如下所示:

Route::group(['middleware' => ['login']], function() {
    /*All my authenticated routes here ..*/
}

Route::group(['middleware' => ['guest']], function() {
    /*All my non-authenticated routes here ..*/
}
我的中间件是这样的:

Route::group(['middleware' => ['login']], function() {
    /*All my authenticated routes here ..*/
}

Route::group(['middleware' => ['guest']], function() {
    /*All my non-authenticated routes here ..*/
}
嘉宾:

<?php

namespace App\Http\Middleware;

use Closure;
use Session;
use Auth;

class GuestMiddleware
{
    public function handle($request, Closure $next)
    {
        if (Auth::check())
            return redirect('/');

        return $next($request);
    }
}
是打字错误吗:

类GuestMiddleware=>两个中间件的名称


重命名它并相应注册。

使用
web
中间件:

Route::group(['middleware' => 'web'], function () {
      ///your routes goes here
      Route::group(['middleware' => ['login']], function() {
                 /*All my authenticated routes here ..*/
       });

      Route::group(['middleware' => ['guest']], function() {
           /*All my non-authenticated routes here ..*/
      });
});

您是否正在使用
web
中间件组?此组包含
StartSession
中间件。这是处理会话所必需的。您可以通过使用
php artisan route:list
,验证所有需要会话的路由都应该具有
web
中间件。不,我没有,我创建了一个新的中间件来处理Auth thing@deesoomens您使用的是哪一版本的laravel??5.2@Sohel0415@WilliamsPerdana您需要使用web中间件,请看我的答案我已经在我的kernel.php文件中将GuestMiddleware注册为“guest”,将LoggedInMiddleware注册为“login”