中间件认证错误如何解决?

How to solve Middleware authentication error?

当我尝试登录或注册或尝试访问受限制的页面时显示此错误。 如何解决这个错误?

Declaration of App\Http\Middleware\Authenticate::handle($request, Closure $next) must be compatible with Illuminate\Auth\Middleware\Authenticate::handle($request, Closure $next, ...$guards)

这是/app/Http/Middleware/Authenticate.php代码:

<?php

namespace App\Http\Middleware;

use Illuminate\Auth\Middleware\Authenticate as Middleware;
use Closure;
use Auth;
class Authenticate extends  Middleware
{
    public function handle($request, Closure $next)
    {
        if (Auth::check()) {
            return $next($request);
        }
        return redirect()->route('user.login');
    }

}

原方法的原型(Middleware::handle())是handle($request, Closure $next, ...$guards),你的应该也是这样吧。如果你不需要那些$guards,你可以不使用它们,但它们必须在原型中。

<?php

namespace App\Http\Middleware;

use Illuminate\Auth\Middleware\Authenticate as Middleware;
use Closure;
use Auth;
class Authenticate extends  Middleware
{
    public function handle($request, Closure $next, ...$guards)
    {
        if (Auth::check()) {
            return $next($request);
        }
        return redirect()->route('user.login');
    }

}