【发布时间】:2011-05-24 14:29:31
【问题描述】:
我需要跨服务器传输用户会话。 IE。如果用户登录 server1 并且用户存在于 server2 中,那么我必须将用户会话详细信息传输到 server2。为此,我使用了以下技术
从server1,将用户重定向到http://server2/auth_from_server1.php?sessionid=12345 在 server2 上(在内部,在 auth_from_server1.php 的 PHP 代码中),使用 sessionid 12345 向http://server1/secret/check_session_id.php 发出请求。 在server1上,在check_session_id.php的实现中,验证ID并返回OK、FAILURE,以及你想传递的会话相关数据,如用户名、... 在 server2 上,当调用返回 OK 时,存储传输的会话数据,并为用户提供该服务器的 cookie 和会话。
但是当回调函数调用 auth_from_server1.php 时,会话 id 中的值为空。我试图检查 sessionid 为
if(isset($_SESSION['sessionId']))
echo 'true';
else
echo 'false';
但是 $_SESSION['sessionId'] 为空。在登录页面中,我将会话 ID 的值设置为
$_SESSION['sessionId'] = session_id();
提前谢谢....
【问题讨论】: