бесконечный цикл на маршруте перенаправления - PullRequest
0 голосов
/ 17 мая 2018

У меня проблема, я не знаю, как ее остановить.у меня есть бесконечный цикл на маршруте перенаправления, я пытался перенаправить пользователя, если он не принял какое-то условие, это мой код:

 /**
     * AcceptanceListener constructor.
     * @param $router
     * @param TokenStorageInterface $tokenStorage
     * @param UserManager $userManager
     * @param AuthorizationChecker $checker
     */
    public function __construct(
        $router,
        TokenStorageInterface $tokenStorage,
        UserManager $userManager,
        AuthorizationChecker $checker
    ) {
        $this->router = $router;
        $this->tokenStorage = $tokenStorage;
        $this->userManager = $userManager;
        $this->role = $checker;
    }

    /**
     * To checked all the routes
     *
     * @param GetResponseEvent $event
     */
    public function onKernelRequest(GetResponseEvent $event)
    {
        $user = $this->tokenStorage->getToken()->getUser();
        if ($this->role->isGranted('ROLE_USER')
            && !$this->userManager->hasAccepted($user)
        ) {
            $this->redirect = $this->router->generate('accept_');
            $event->setResponse(new RedirectResponse($this->redirect));
        }
    }

кто-то может мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 17 мая 2018

Проверьте, не совпадает ли маршрут, затем перенаправьте

public function onKernelRequest(GetResponseEvent $event)
    {
        $route_name = $event->getRequest()->get('_route');

            if ($route_name != 'accept_') {

        $user = $this->tokenStorage->getToken()->getUser();
        if ($this->role->isGranted('ROLE_USER')
            && !$this->userManager->hasAccepted($user)
        ) {
            $this->redirect = $this->router->generate('accept_');
            $event->setResponse(new RedirectResponse($this->redirect));
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...