如何解决中间件认证错误? [复制]
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 中的此错误“错误:操作必须是普通对象。使用自定义中间件进行异步操作。”