ERR_TOO_MANY_REDIRECTS - Laravel 5.7 - PullRequest
       0

ERR_TOO_MANY_REDIRECTS - Laravel 5.7

0 голосов
/ 03 октября 2018

Я использую Laravel 5.7.У меня есть таблица пользователей с столбцом user_type, где

0 = default users
1 = Professionals
2 = Facilities
8 = Employees
9 = Managers
10 = Administrator

И еще один столбец, который является логическим is_premium, который возвращает либо true, либо false.

Я создал промежуточное ПО для admin

namespace App\Http\Middleware;

use Closure;
use Auth; 

class IsAdmin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::user() &&  Auth::user()->usertype == 10) {
            return $next($request);
         }

        return redirect('/administration/dashboard');
    }
}

И я использовал его в файле route / web.php как

Route::group(['prefix' => 'administration', 'middleware' => 'admin'], function(){
  Route::get('/dashboard', 'Admin\DashboardController@index')->name('admin.dashboard');
});

Когда я захожу на маршрут панели администратора, он говорит:

ERR_TOO_MANY_REDIRECTS

Я знаю, что естьчто-то я делаю неправильно ... что это?

И я предполагаю создать промежуточное ПО для других типов пользователей и использовать его в файле маршрутов.Это правильный способ сделать?

1 Ответ

0 голосов
/ 03 октября 2018

Сначала попробуйте неверную логику:

...
public function handle($request, Closure $next)
{
    if ( ! (Auth::user() &&  Auth::user()->usertype == 10) ) {
        return redirect('/home');
    }

    return $next($request);
}
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...