【问题标题】:Silex SessionLogoutHandlerSilex SessionLogoutHandler
【发布时间】:2014-03-03 12:45:12
【问题描述】:

在 Symfony 中,可以通过在您的 security.yml 文件中添加 invalidate_session: false 来避免在注销时破坏会话。

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

public function logout(Request $request, Response $response, TokenInterface $token)
{
    $request->getSession()->invalidate();
}

这个EventListener会被添加到SecurityServiceProvider:

$listener->addHandler(new SessionLogoutHandler());

我发现不可能不添加或删除此处理程序...还是我遗漏了什么?

感谢您的回答。

[更新]

https://github.com/silexphp/Silex/pull/916查看我的拉取请求

【问题讨论】:

    标签: session symfony silex invalidation


    【解决方案1】:

    作为一种短期解决方案,您可以使用与默认相同的代码覆盖 $app['security.authentication_listener.logout._proto'],除了注册您遇到问题的事件侦听器。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-28
    • 2013-03-05
    • 2012-11-17
    相关资源
    最近更新 更多