【问题标题】:Logout doesn't redirect - Symfony2注销不重定向 - Symfony2
【发布时间】:2015-02-15 13:23:59
【问题描述】:

注销成功,用户已断开连接。问题是它不会重定向到配置中设置的页面。它给出了一个 500 内部错误,并带有以下错误消息:

ContextErrorException: 警告: SessionHandler::write(): Parent 会话处理程序未打开 C:\xampp\htdocs\community\app\cache\dev\classes.php 第 398 行

我正在使用 Symfony2.3.​​25 和 PHP 5.4.7。

我的安全配置是:

firewalls:
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
            login_path:  /login
            check_path:  /login_check
            default_target_path: /admin/
        logout:                 
            path: /logout
            target: /
        anonymous:  ~

当我在浏览器中刷新注销路径时,它成功重定向到主页。

非常感谢任何线索。

【问题讨论】:

  • 你使用的是哪个版本的php和框架?
  • @Matteo,感谢您查看我的编辑。

标签: php security symfony fosuserbundle logout


【解决方案1】:

是PHP相关的问题,在SymfonyRequirements for php 5.4.11之前的版本中已经提到:

当使用 Symfony 安全组件的注销处理程序时,您 由于 PHP 错误 #63379(作为 解决方法,您还可以在 安全注销处理程序配置)

有解决方法可以添加invalidate_session: false

firewalls:
    main:
        pattern: ^/
        form_login:
            provider: fos_userbundle
            csrf_provider: form.csrf_provider
            login_path:  /login
            check_path:  /login_check
            default_target_path: /admin/
        logout:                 
            path: /logout
            target: /
            invalidate_session: false
        anonymous:  ~

希望对您有所帮助。

【讨论】:

  • 哇!我正在阅读我的日志和堆栈跟踪,它说问题与会话和会话处理程序有关。 +1,我会实施这个并提供反馈。非常感谢
猜你喜欢
  • 2015-10-05
  • 2014-03-17
  • 2017-06-01
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多