在Symfony中,可以通过在invalidate_session: false文件中添加security.yml来避免会话在注销时破坏。
遗憾的是,这在Silex没有起作用。在Silex中有一个EventListener SessionLogoutHandler,它调用:
public function logout(Request $request, Response $response, TokenInterface $token)
{
$request->getSession()->invalidate();
}此EventListener将添加到SecurityServiceProvider中。
$listener->addHandler(new SessionLogoutHandler());
我发现没有可能不添加或删除这个处理程序..。还是我漏掉了什么?
谢谢你的回答。
更新
发布于 2014-03-03 18:56:22
作为一种短期解决方案,您可以使用默认情况下完全相同的代码覆盖$app['security.authentication_listener.logout._proto'],但注册有问题的事件侦听器除外。
对于长期解决方案(如果您想出了一种可行的方法),您可以在github上分叉silex,添加一种可以选择关闭它的方法,然后发送一个拉请求,以便其他人也从您的工作中受益:)
https://stackoverflow.com/questions/22147181
复制相似问题