Symfony 3如何在子域名之间共享cookies?

8
我希望您能够跨子域共享cookie,这样可以使我保持会话状态。我正在使用Symfony框架版本3.0。
我已经阅读了相关资料,应该进行以下设置:
## app/config/config.yml
   session:
       cookie_domain: .localhost

我尝试过多种方法,但都没有改变任何东西。 与 cookie 关联的域名不会改变。有什么建议吗?我漏掉了什么。


Cookie不会改变。 您需要删除cookie并重新登录。我刚测试了一下,它运行良好。 - goto
我删除了我的 cookie,现在没有 cookie 会回来,但是当我移除 cookie 域属性时,我会得到一个 cookie。 - nigel
我发现一个代码片段,里面用户使用了这些参数,你可以试试吗? cookie_lifetime: 0 save_path: %kernel.root_dir%/var/sessions cookie_domain: .my-domain.com name: SFSESSID - goto
1个回答

13

确保需要删除您的cookie并重新登录。

session:
    cookie_lifetime: 0
    save_path: %kernel.root_dir%/var/sessions
    cookie_domain: .my-domain.com
    name: SFSESSID

4
这个功能运行得非常顺畅。请记得在下次登录之前清除您的cookie存储,否则您将无法登录(启用CSRF)。这在已部署的系统上也是一个问题(您不会要求用户清除他们的cookie,对吧?),因此最简单的解决方案是将“session.name”参数改为先前的其他值(在大多数情况下为“PHPSESSID”)。 - cadavre
Symfony 5.4在这里,我不得不做同样的重命名操作才能使登录功能正常工作。 - diynevala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接