Session Symfony2-如何在使用FOS用户包登录/注销时不删除当前会话

Session Symfony2-如何在使用FOS用户包登录/注销时不删除当前会话,session,symfony,shopping-cart,fosuserbundle,Session,Symfony,Shopping Cart,Fosuserbundle,我建立了一个电子商务,我有一个小但无聊的问题。若要命令您的购物车,您必须登录,所以我在安全性中添加了一条规则,若用户未登录,将在登录页面中重定向该用户。但在登录(或注销)后,购物车将被清除。通过比较会话ID和存储在数据库中的会话ID(数据库中的一个购物车对应于用户购物车中的一个产品),可以恢复购物车。我使用FOSUserBundle。有什么解决方案吗?您是否查看了knplabs电子商务捆绑包。它们包含几个捆绑包,可以帮助您构建包括购物卡在内的电子商务解决方案 我相信您必须在应用程序中指定会话c

我建立了一个电子商务,我有一个小但无聊的问题。若要命令您的购物车,您必须登录,所以我在安全性中添加了一条规则,若用户未登录,将在登录页面中重定向该用户。但在登录(或注销)后,购物车将被清除。通过比较会话ID和存储在数据库中的会话ID(数据库中的一个购物车对应于用户购物车中的一个产品),可以恢复购物车。我使用FOSUserBundle。有什么解决方案吗?

您是否查看了knplabs电子商务捆绑包。它们包含几个捆绑包,可以帮助您构建包括购物卡在内的电子商务解决方案



我相信您必须在应用程序中指定会话cookie生存期,请阅读虽然有点晚,但您可以尝试在文件
security.yml中添加以下内容:

security:
    session_fixation_strategy: none

    # ...

我不能使用Sylius,因为我的应用程序太具体了。但问题不在于会话cookie生存期,问题在于当我注销会话时,会话被清除。我已经解决了登录的问题:我在会话中设置了一个“cartSessionId”(我得到了它,而不是直接得到会话ID),并且它不会通过登录被删除。我尝试了这个,但没有什么不同-当FOSUserBundle将我注销时会话ID被更改。我已经很久没有使用FOSUser了。我不认为,但可能是捆绑包中发生了影响这种行为的某些变化。在所有情况下,请记住重置缓存。