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