Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silex SessionLogoutHandler_Session_Symfony_Silex_Invalidation - Fatal编程技术网

Silex SessionLogoutHandler

Silex SessionLogoutHandler,session,symfony,silex,invalidation,Session,Symfony,Silex,Invalidation,在Symfony中,可以通过在security.yml文件中添加invalidate\u session:false来避免注销时会话破坏 不幸的是,这在Silex不起作用。在Silex中有一个EventListenerSessionLogoutHandler,它调用: public function logout(Request $request, Response $response, TokenInterface $token) { $request->getSession()

在Symfony中,可以通过在
security.yml
文件中添加
invalidate\u session:false
来避免注销时会话破坏

不幸的是,这在Silex不起作用。在Silex中有一个EventListener
SessionLogoutHandler
,它调用:

public function logout(Request $request, Response $response, TokenInterface $token)
{
    $request->getSession()->invalidate();
}
此EventListener将添加到
SecurityServiceProvider

$listener->addHandler(新SessionLogoutHandler())

我没有发现不添加或删除此处理程序的可能性。。。还是我遗漏了什么

谢谢你的回答

[更新]


查看我的拉取请求,作为一种短期解决方案,您可以使用默认代码覆盖
$app['security.authentication\u listener.logout.\u proto']
,但注册您遇到问题的事件侦听器除外


对于长期解决方案(如果您提出了一种可行的方法),您可以在github上使用silex,添加一种可选的关闭方法,然后发送拉取请求,以便其他人也能从您的工作中受益:)

我已经完成了长期解决方案;-)在查看我的拉取请求