如果请求是有资质的,则symfony2检查kernelRequest

时间:2015-08-11 09:33:28

标签: symfony events request

如果请求是资产路由,我需要知道onKernelRequest eventListener。

我该怎么做?我对这个听众很热情:

    public function onKernelRequest(GetResponseEvent $event)
{

    if (!$event->isMasterRequest()) {      
        return;
    }

    // Here i need check if the request owns to an assetic

    if ($this->authorizationChecker->isGranted('ROLE_USER')) 
    {
        // do something...
    }
    else
    {

    }
}

1 个答案:

答案 0 :(得分:1)

看起来由assetic生成的路由始终包含根据AsseticLoader第116行的字符串'_assetic_'。因此,您应该检查匹配的路由是否包含该字符串。 e.g:

// in your listener:
// return from the listener if this as an assetic route
if ( strpos($event->getRequest()->attributes->get('_route'), 'assetic') !== false)
  return;