Пользовательское промежуточное ПО, показывающее ERR_TOO_MANY_REDIRECTS - PullRequest
0 голосов
/ 17 апреля 2020

Попытка сделать экран блокировки в моем приложении, где будет кнопка для зарегистрированных пользователей, чтобы заблокировать их учетную запись, которая работает нормально, но когда пользователь находится на экране блокировки, я хочу ограничить пользователя перенаправлением на другие страницы через руководство Типирование URL.

Для этого я использовал простое промежуточное программное обеспечение, но я думаю, что оно конфликтует с перенаправлениями аутентификации Laravel.

Как можно разделить действие перенаправления этих двух промежуточных программ?

Маршрут:

Route::middleware(['auth'])->group(function () {
Route::get('locked', 'LockController@lockuser')->name('lock')->middleware('lock');
});

Контроллер:

public function lockuser()
    {
        Session::put('locked', true);
        return view('lock');
    }

Промежуточное программное обеспечение:

public function handle($request, Closure $next)
    {
      if($request->session()->has('locked')){
        return redirect ('/locked');
      }
        return $next($request);
    }

Kernal:

protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\lockUser::class,
        ],
      ];

protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        'lock' => \App\Http\Middleware\lockUser::class,
    ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...