为了账号安全,请及时绑定邮箱和手机立即绑定

类 RedirectIfPasswordNotUpdated 不存在

类 RedirectIfPasswordNotUpdated 不存在

PHP
慕斯709654 2021-10-15 16:06:11
我使用以下命令创建了一个自定义中间件php artisan make:middleware RedirectIfPasswordNotUpdated这是我的中间件<?phpnamespace App\Http\Middleware;use Closure;use Carbon\Carbon;use Illuminate\Support\Facades\Auth;use App;class RedirectIfPasswordNotUpdated{    public function handle($request, Closure $next)    {        if (!App::environment(['production'])) {            return $next($request);        }        $user = Auth::user();        if (!$user->password_updated_at) {            return redirect()->route('profile.password.edit')->with([                'message' => 'Please update your password to proceed',                'alertType' => 'warning',            ]);        }        if (Carbon::now()->diffInDays(Carbon::parse($user->password_updated_at)) > 90) {            return redirect()->route('profile.password.edit')->with([                'message' => 'Your password has expired! Please update your password to proceed',                'alertType' => 'warning',            ]);        }        return $next($request);    }}我想在我的控制器的构造函数中使用这个中间件,如下所示public function __construct(){    $this->middleware('auth');    $this->middleware('RedirectIfPasswordNotUpdated');}当,我这样做时,我得到一个ReflectionException (-1)说Class RedirectIfPasswordNotUpdated does not exist我在其他 Laravel(v5.4、v5.6)项目中以相同的方式使用这个中间件,并且没有任何问题。但它在当前版本 (v5.8) 中不起作用。我究竟做错了什么?
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

正如我所看到的,您尚未注册您middleware class的app\Http\Kernel.php. 注册一个中间件非常简单,如下所示:


protected $routeMiddleware = [

   'middle_name' => \App\Http\Middleware\RedirectIfPasswordNotUpdated::class,

]


查看完整回答
反对 回复 2021-10-15
  • 1 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信