ERR_TOO_MANY_REDIRECTS-Laravel 5.7

时间:2018-10-03 19:51:16

标签: laravel laravel-5.7

我正在使用laravel 5.7。我有一个用户表,其中的列为user_type

phrase

另一个是布尔值is_premium的列,它返回true或false。

我已经为管理员创建了一个中间件

Elasticsearch

我已经在routes / web.php文件中将其用作

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

当我访问管理仪表板路线时,它说

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');
    }
}

我知道我做错了什么...这是什么?

而且我也想为其他用户类型创建中间件并在路由文件中使用。这是正确的方法吗?

1 个答案:

答案 0 :(得分:2)

首先尝试错误的逻辑:

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

    return $next($request);
}
...