当我登录时,我的 Symfony2 应用程序替换了我的PHPSESSID
cookie。这是预期的行为吗?这对我来说毫无意义......为什么不保持不变PHPSESSID
?
这里有更多细节。
要登录我的应用程序,我必须首先向访问我的应用程序的 URL 发出请求:
$ telnet myapp 80
GET / HTTP/1.1
Host: myapp
我被重定向到另一个 URL ( /login
) 并获得了一个PHPSESSID
cookie。美好的。然后我POST
到类似的/login_check
东西_username=blah&_password=blah
,无论我是否提供正确的凭据,我都会收到一个不同的PHPSESSID
cookie。
似乎大多数东西都适用于第一个请求,但我必须提出一些POST
请求(我不能只是/login_check
登录)。这是预期的行为吗?
不确定这是否重要,但我正在使用 FOSUserBundle。
我想我应该提到这些都不重要,直到我将我的应用程序放在负载均衡器后面的两个网络服务器上,并告诉负载均衡器使用基于PHPSESSID
. 正如您可能想象的那样,PHPSESSID
如果客户端碰巧反弹到另一个 Web 服务器,则替换行为会阻止登录工作。