lalavel 5中的$ request->请求为空

时间:2016-05-24 23:26:39

标签: php laravel

我试图定义一个Middleware 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是否包含联盟/ {federationID}和federationID == user-> federation() - > id,grant access

1 个答案:

答案 0 :(得分:0)

除非您需要更高级的内容,否则您只需从当前网址解析它并进行检查。

$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而不匹配其他地址。