繁体   English   中英

$ request-> request在laravel 5中为null

[英]$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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM