我有一个带有两个安全区域的防尘防火墙
'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修改,target参数也总是转到项目的根目录。
在那里我读到了应该修改注销处理程序,但我不清楚它是如何配置的以及它应该在哪里完成
您能否提出一些建议,以便更改网址并正常工作?
此致
答案 0 :(得分:3)
参数名称不正确。尝试将其更改为target_url
。
'logout' => array(
'logout_path' => '/clients/admin/logout',
'target_url' => '/clients/login'
),