Symfony警告:session_regenerate_id():会话对象销毁失败。 ID:用户(路径:)

时间:2019-04-22 17:39:45

标签: session impersonation symfony-2.8

我已经按照官方文档在我的应用中建立了用户模拟机制,并且一切正常。 但是只有在执行以下步骤时,我才会收到警告消息(对我来说,这更是一个错误):

  1. 我可以访问开发环境登录名
  2. 以管理员身份登录(其中有ROLE_ALLOWED_TO_SWITCH
  3. 然后,我模拟了一些用户(通过?_switch_user=some_username
  4. 我退出模拟(通过?_switch_user=_exit
  5. 然后,我尝试注销我的管理员帐户并...闷...我成功注销后得到以下提示。
  

警告:session_regenerate_id():会话对象销毁失败。 ID:用户(路径:)

请注意,这仅在开发环境中发生。

这是我的 security.yml

security:

providers:
    usuarios:
        entity: { class: AdminBundle\Entity\User, property: usuario }

firewalls:
    main:
        switch_user: true
        anonymous: ~
        http_basic: ~
        form_login:
            login_path: login
            check_path: login_check
            default_target_path: /es/app
        logout:
            path: usuario_logout
            target: login

role_hierarchy:
    ROLE_ALLOWED_TO_SWITCH : [ROLE_ADMIN]
    ROLE_ADMIN:       [ROLE_USER, ROLE_SUPERVISOR, ROLE_OPERADOR, ROLE_EQUIPOS]
    ROLE_USER:        [ROLE_LISTAR]
    ROLE_SUPERVISOR:  [ROLE_USER]
    ROLE_OPERADOR:    [ROLE_EDITAR, ROLE_USER]

access_control:
       - { path: ^/.*/admin/*, roles: ROLE_ADMIN }
       - { path: ^/.*/equipamiento/*, roles:  ROLE_EQUIPOS }
       - { path: ^/.*/app/*, roles: [ROLE_USER, ROLE_EQUIPOS]}           
       - { path: ^/.*/talento/*, roles: ROLE_USER }

encoders:
      AdminBundle\Entity\User: { algorithm: sha512, iterations: 3}

我期望的是正常注销。

如何解决此问题?

谢谢。

0 个答案:

没有答案