/** * Add user info for request * * @param GetResponseEvent $request */ public function onKernelRequest(GetResponseEvent $request) { $token = $this->tokenStorage->getToken(); $user = null; if (!is_null($token)) { $user = $token->getUser(); } $this->xacmlRequest->set($this->category, $user); }
/** * Add resource information for request from annotations * * @param GetResponseEvent $request */ public function onKernelRequest(GetResponseEvent $request) { $controller = $request->getRequest()->get('_controller'); $controllerParts = explode('::', $controller); if (is_array($controllerParts) && count($controllerParts) == 2) { $class = $controllerParts[0]; $method = $controllerParts[1]; $object = new \ReflectionMethod($class, $method); $resources = []; foreach ($this->annotationsReader->getMethodAnnotations($object) as $configuration) { if ($configuration instanceof XacmlResource) { $baseClassName = $this->getBaseClassName($configuration->entity); $resources[$baseClassName] = new Resource($configuration->entity, $request->getRequest()->get($configuration->id), $configuration->method); $resources['type'] = $baseClassName; } } if (!empty($resources)) { $this->xacmlRequest->set($this->category, $resources); } } }
/** * Add environment information for request * * @param GetResponseEvent $request */ public function onKernelRequest(GetResponseEvent $request) { $dateTime = new \DateTime(); $this->xacmlRequest->set($this->category, ['ip' => $request->getRequest()->getClientIp(), 'date_time' => $dateTime->format('Y-m-d H:i:s')]); }
/** * Add route name for request * * @param GetResponseEvent $request */ public function onKernelRequest(GetResponseEvent $request) { $this->xacmlRequest->set($this->category, $request->getRequest()->get('_route')); }