如何解决中间件认证错误? [复制]

Posted

技术标签:

【中文标题】如何解决中间件认证错误? [复制]【英文标题】:How to solve Middleware authentication error? [duplicate] 【发布时间】:2021-11-26 20:59:43 【问题描述】:

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

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');
    


【问题讨论】:

【参考方案1】:

原始方法的原型(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');
    


【讨论】:

谢谢,它有效。

以上是关于如何解决中间件认证错误? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

建行工商注册认证签名软件提示错误求解决。

如何解决 react-redux 中的此错误“错误:操作必须是普通对象。使用自定义中间件进行异步操作。”

这是啥覆盖错误,我该如何解决? [复制]

我该如何解决这个错误,SQLSTATE [42000]? [复制]

如何将中间项目居中在 flex 行中? [复制]

如何解决 nginx SSL 错误? [复制]