laravel 未定义的变量守卫
laravel undefined variable gaurd
这是我为路由创建中间件的代码,我在这里使用 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');
}
}
声明
use guard
不正确。
替换为
use Illuminate\Support\Facades\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()
这是我为路由创建中间件的代码,我在这里使用 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');
}
}
声明
use guard
不正确。
替换为
use Illuminate\Support\Facades\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()