Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
 /**
  * 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')]);
 }
Ejemplo n.º 4
0
 /**
  * Add route name for request
  *
  * @param GetResponseEvent $request
  */
 public function onKernelRequest(GetResponseEvent $request)
 {
     $this->xacmlRequest->set($this->category, $request->getRequest()->get('_route'));
 }