Php laravel未定义变量gaurd

Php laravel未定义变量gaurd,php,laravel,laravel-5.3,middleware,Php,Laravel,Laravel 5.3,Middleware,这是我创建路由中间件的代码,我在这里使用Auth::guard,所以它显示了未定义的变量guard,提前感谢 <?php namespace App\Http\Middleware; use Closure; class accesscontrol { /** * Handle an incoming request. * * @param \Illuminate

这是我创建路由中间件的代码,我在这里使用Auth::guard,所以它显示了未定义的变量guard,提前感谢

 <?php
      namespace App\Http\Middleware;

      use Closure;


      class accesscontrol
      {
        /**
         * Handle an incoming request.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  \Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {
         if (\Auth::guard($guard)->check() && Auth::user()->user_type == '5')  
         {      
                return $next($request);
         }  
          return redirect('/login');  
        }
       }
语句

使用防护装置

这是不正确的

换成


使用照明\Support\Facades\Auth
使用Auth

传递变量,定义句柄方法,如下所示:

public function handle($request, Closure $next, $guard = null)
{

 if (\Auth::guard($guard)->check() && Auth::user()->user_type == '5'){

    return $next($request);
  }

  return redirect('/login');

}

看起来您根本不想使用自定义保护,所以只需使用
Auth::check()
Auth()->check()

if (auth()->check() && auth()->user()->user_type == '5') {
    return $next($request);
}
如果要使用它,请指定它:

Auth::guard('custom-guard-name')->check()

您好,$gaurd设置为null,但它不是验证条件,所以您以前的问题已解决,对吗?检查condition@vinod到底是什么不起作用?你有什么错误吗?