src/Services/SecurityCore.php line 31

Open in your IDE?
  1. <?php
  2. namespace App\Services;
  3. use Symfony\Component\HttpKernel\Event\GetResponseEvent;
  4. use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Symfony\Component\HttpFoundation\RequestStack;
  7. use Twig\Environment;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\RouterInterface;
  10. use Symfony\Component\HttpFoundation\RedirectResponse;
  11. class SecurityCore {
  12.     private $token;
  13.     private $entityManager;
  14.     private $request;
  15.     private $template;
  16.     private $router;
  17.     private $redirect;
  18.     public function __construct(EntityManagerInterface $entityManagerTokenStorageInterface $tokenStorageRequestStack $requestStackEnvironment $templatingRouterInterface $router) {
  19.         $this->token $tokenStorage;
  20.         $this->em $entityManager;
  21.         $this->request $requestStack;
  22.         $this->template $templating;
  23.         $this->router $router;
  24.     }
  25.     public function validationAccess() {
  26.         // var_dump($this->request->getCurrentRequest()->get('_route_params'));exit;
  27.         $accion $this->em->getRepository(\App\Entity\SecAccion::class)->findOneBy(['ruta' => $this->request->getCurrentRequest()->get('_route')]);
  28.         if ($accion) {
  29.             $sesion $this->request->getSession();
  30.             $sesion->start();
  31.             if (in_array($accion->getClass(), ['ajax''ajax2''ajax3']) && !$this->request->getCurrentRequest()->isXmlHttpRequest()) {
  32.                 $funcionalidad $accion->getFuncion();
  33.                 $listar null;
  34.                 $redirect 'app_homepage';
  35.                 if ($funcionalidad->getModulo()) {
  36.                     if ($funcionalidad->getModulo()->getId() == 4) {
  37.                         $response = new RedirectResponse($this->router->generate($redirect));
  38.                         header('Location: ' $response->getTargetUrl());
  39.                         exit;
  40.                     }
  41.                 }
  42.                 foreach ($funcionalidad->getSecAccion() as $acc) {
  43.                     if ($acc->getTipo() == 1) {
  44.                         $redirect $acc->getRuta();
  45.                         break;
  46.                     }
  47.                 }
  48.                 $urlDef $this->router->generate($accion->getRuta(), $this->request->getCurrentRequest()->get('_route_params'));
  49.                 $sesion->set('loadModalRequest'$urlDef);
  50.                 $response = new RedirectResponse($this->router->generate($redirect));
  51.                 header('Location: ' $response->getTargetUrl());
  52.                 exit;
  53.                 return $response;
  54.             } else if (in_array($accion->getClass(), ['ajax''ajax2''ajax3']) && $this->request->getCurrentRequest()->isXmlHttpRequest()) {
  55.                 $sesion->set('loadModalRequest'null);
  56.             }
  57. //        var_dump($this->request->getCurrentRequest()->get('_route'));
  58. //        var_dump($this->request->getCurrentRequest()->get('_route_params'));
  59. //        var_dump($this->request->getCurrentRequest()->get('_controller'));
  60.             /*
  61.              *     return new RedirectResponse($this->router->generate($actbodusu[0]['nombreRuta'], array(
  62.               'idSubModulo' => $actbodusu[0]['idSubModulo'],
  63.               'idFun' => $actbodusu[0]['idFun'],
  64.               'idEntidad' => $ordenTrabajo->getId(),
  65.               'idOTActBodUsu' => $actbodusu[0]['id'],)), 301);
  66.               }
  67.              */
  68. //        echo "ya estoy validando;";
  69. //        
  70. //        exit;
  71.         }
  72.     }
  73. }