Symfony-Sonata Admin-从FormField重定向到列表

Symfony-Sonata Admin-从FormField重定向到列表,symfony,sonata-admin,Symfony,Sonata Admin,在SonatAdminBundle中,有没有一种方法可以从createAction重定向到listAction 我需要它在访问被拒绝时重定向用户 $curUser = $this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser(); if ($this->getSubject()->getId() &&a

在SonatAdminBundle中,有没有一种方法可以从createAction重定向到listAction

我需要它在访问被拒绝时重定向用户

$curUser = $this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser();
    if ($this->getSubject()->getId() && $this->getSubject()->getUser()) {
        if ($this->getSubject()->getUser() != $curUser) {
            REDIRECT HERE
        }
    }

首先,您需要添加UseRedirectResponse类

use Symfony\Component\HttpFoundation\RedirectResponse;
之后:

$curUser = $this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser();
if ($this->getSubject()->getId() && $this->getSubject()->getUser()) {
    if ($this->getSubject()->getUser() != $curUser) {
        $redirection = new RedirectResponse($this->getConfigurationPool()->getContainer()->get('router')->generate('your_route_name'));
        $redirection->send();
    }
}

首先,您需要添加UseRedirectResponse类

use Symfony\Component\HttpFoundation\RedirectResponse;
之后:

$curUser = $this->getConfigurationPool()->getContainer()->get('security.token_storage')->getToken()->getUser();
if ($this->getSubject()->getId() && $this->getSubject()->getUser()) {
    if ($this->getSubject()->getUser() != $curUser) {
        $redirection = new RedirectResponse($this->getConfigurationPool()->getContainer()->get('router')->generate('your_route_name'));
        $redirection->send();
    }
}

嘿@Fatih Kahveci,谢谢你-有没有办法从这个表单中获取索纳塔列表路径?@cRsakaWolf我不确定,但你在表单中找不到列表路径名称。但您可以使用debug:router命令轻松查找,并找到您想要的任何路由名称。嘿@Fatih Kahveci,谢谢-有没有办法从该表单获取sonata列表路由?@cRsakaWolf我不确定,但您无法在表单中找到列表路由名称。但是,您可以使用debug:router命令轻松查找,并找到您想要的任何路由名称。