类 RedirectIfPasswordNotUpdated 不存在

我使用以下命令创建了一个自定义中间件


php artisan make:middleware RedirectIfPasswordNotUpdated

这是我的中间件


<?php


namespace 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) 中不起作用。我究竟做错了什么?


慕斯709654
浏览 118回答 1
1回答

摇曳的蔷薇

正如我所看到的,您尚未注册您middleware class的app\Http\Kernel.php. 注册一个中间件非常简单,如下所示:protected $routeMiddleware = [&nbsp; &nbsp;'middle_name' => \App\Http\Middleware\RedirectIfPasswordNotUpdated::class,]
打开App,查看更多内容
随时随地看视频慕课网APP