[英]$request->request is null in laravel 5
我试图定义一个中间件FederationMiddleware:
public function handle($request, Closure $next)
{
dd($request->request); // prints null
if (Auth::check()) {
$userLogged = Auth::user();
if (!$userLogged->isSuperAdmin()) {
throw new UnauthorizedException;
}
}
return $next($request);
}
在Kernel.php中
protected $routeMiddleware = array(
...
'federation' => Middleware\FederationMiddleware::class,
在我的控制器中,我有:
public function __construct()
{
$this->middleware('federation');
}
我基本上需要的是允许联盟的所有者编辑他自己的信息,因此,我需要解析URL才能知道URL是否包含federations / {federationID}和federationID == user-> federation()-> id,然后授予访问
除非您需要更高级的内容,否则只需从当前URL解析它并进行检查即可。
$path = $request->path();
if (preg_match('@^federation/(\d+)/edit$@', $path, $match)) {
$federationId = $match[1];
// compare with the user's federation id here
}
这将与sitename.xyz/federation/[somedigits]/edit
匹配,并且没有其他地址。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.