我正在将一个Web服务实现为Symfony2站点的一部分,该站点将使用来自另一个(静态)站点的JSONp和iframe进行访问。当用户使用iFrame登录时,Safari不会保留会话,因此我使用javascript将会话ID存储在静态站点的cookie中,并将其传回请求的GET或POST参数,这样工作正常
问题是在其他浏览器上,Web服务的会话cookie被保留,这意味着当用户注销时,它们实际上仍然登录到Symfony站点。
对于symfony网站的Web服务部分,有没有办法禁用PHP会话cookie,最好是以Symfony2友好的方式(而不是,例如,搞乱.htaccess)?
我仍然想要一个会话,但会通过在我发出的所有请求中自己传递一个PHPSESSID变量来维护它。
答案 0 :(得分:11)
This可能只是你正在寻找的东西。拥有无状态防火墙:
在你的security.yml
中# app/config/security.yml
security:
firewalls:
main:
stateless: true