注销目标路径不会在 silex 防火墙中正确重定向

Logout target path do not redirect correctly in silex firewall

我有一个 silex 防火墙,有两个这样的安全区域

'clientes'      =>  array(
            'pattern'   =>  '^/clients.*$',
            'anonymous' =>  true,
            'form'      =>  array(
                'login_path' => '/clients/login',
                'check_path' => '/clients/login_check',
                'default_target_path' => '/clients/admin',
                'always_use_default_target_path' => true,
                'username_parameter' => 'username',
                'password_parameter' => 'password',
                'csrf_parameter' => 'login_token',
                'failure_path' => '/clients/login',
            ),
            'logout'    =>  array(
                'logout_path' => '/clients/admin/logout',
                'target' => '/clients/login'
            ),
            'users' => $app->factory(function () use ($app) {
                return new Lib\Provider\ClientProvider($app);
            })
        ),
        'sistema'       =>  array(
            'pattern'   =>  '^/.*$',
            'anonymous' =>  true,
            'form'      =>  array(
                'login_path' => '/',
                'check_path' => '/login_check',
                'default_target_path' => '/dashboard',
                'always_use_default_target_path' => true,
                'username_parameter' => 'username',
                'password_parameter' => 'password',
                'csrf_parameter' => 'login_token',
                'failure_path' => '/',
            ),
            'logout'    =>  array(
                'logout_path' => '/logout',
                'target' => '/'
            ),
            'users' => $app->factory(function () use ($app) {
                return new Lib\Provider\UserProvider($app);
            })
        )
    ),
    'security.access_rules' => array(
        array('^/select-locale.*$', 'IS_AUTHENTICATED_ANONYMOUSLY'),
        array('^/recupera-password.*$', 'IS_AUTHENTICATED_ANONYMOUSLY'),
        array('^/dashboard', array('ROLE_ADMIN','ROLE_SISTEMA')),
        array('^/clients/login$', 'IS_AUTHENTICATED_ANONYMOUSLY'),
        array('^/clients/admin', array('ROLE_CLIENTE'))
    ),
    'security.role_hierarchy' => array(
        'ROLE_ADMIN_SUPER'    => array('ROLE_ADMIN','ROLE_SISTEMA','ROLE_CLIENTE'),
    )

两个防火墙都工作正常,但是在注销部分的目标参数在任何一种情况下都不起作用,它总是重新寻址我的项目的根目录。

即使我使用任何 url 进行修改,目标参数始终会转到项目的根目录。

我读到应该修改注销处理程序,但我不清楚它是如何配置的以及应该在哪里完成

您能否提供一些建议来使 url 都得到更改并正常工作?

此致

参数名称不正确。尝试将其更改为 target_url.

'logout'    =>  array(
    'logout_path' => '/clients/admin/logout',
    'target_url' => '/clients/login'
),