laravel undefined变量gaurd

时间:2018-01-03 06:32:01

标签: php laravel laravel-5.3 middleware

这是我创建路由中间件的代码,这里我使用的是Auth :: 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');  
        }
       }

3 个答案:

答案 0 :(得分:2)

声明

function returnBalance(accountNo) { var balance = 0.000; for (var acn in accountNumbers) { if (accountNumbers.hasOwnProperty(acn)) { balance = accountNumbers[acn]; break; } } //moved this outside the for loop return balance; }

不正确。

将其替换为

use guard

答案 1 :(得分:2)

看起来你根本不想使用自定义防护,所以只需使用Auth::check()auth()->check()代替:

if (auth()->check() && auth()->user()->user_type == '5') {
    return $next($request);
}

如果您想使用它,请指定它:

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

答案 2 :(得分:1)

使用验证;

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

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

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

    return $next($request);
  }

  return redirect('/login');

}