注销没有重定向 - Symfony2

时间:2015-02-15 13:23:59

标签: php security symfony fosuserbundle logout

注销成功执行,用户断开连接。问题是它没有重定向到配置中的页面集。它给出了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:  ~

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

非常感谢任何线索。

1 个答案:

答案 0 :(得分:1)

与PHP有关的问题,在5.4.11之前的php版本的 SymfonyRequirements 中提到过:

  

使用Symfony安全组件的注销处理程序时,您   至少应该有PHP 5.4.11由于PHP错误#63379(作为一个   解决方法,您还可以将invalidate_session设置为false   安全注销处理程序配置)

有解决方法,您可以添加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:  ~

希望得到这个帮助。