Hello guys,
Rarely our system mixes logged in users and I can't figure out why.
Here is the scenario: 2 users log in (A and B) normally each one has his own ID, at some point one of the users (A) takes the ID of the other user (B) and contribute to the website as if he is B.
Technically that's what is going on:
1- 2 users logs in: each user requests a "log in" action from Single Sign On(SSO) server which runs on PHP, and a session is created for each user (sessions are stored at Memcached-X)
2- The users have different IDs: Each user will have another session on the web server which runs on Ruby (RoR) also saves sessions on Memcached-Y. For each page they enter on RoR there is an iFrame check that request an authentication from the user browser to the SSO.
3- At some point user A becomes B and B stays as B: The log files from SSO show that the user A is still user A and user B is still user B, while the RoR's logs show that user A become B given that it still have the same session id. At that particular moment we checked keys coming out from RoR's memcached and they returned the right values.
What is going on ? Does SSO give wrong values to RoR,or does the RoR mix everything up or are the Memcached servers making mistakes ?
Please help I am running out of ideas... Thanks.