有一个问题就是,不知道是否在同一台服务器。
方法一:
个人的建议用SSO类似的登录,这样不管是否在同一服务器,都能实现。
D6(登陆)--redirect->D7(实现登陆,注册cookie)--redirect-->D6
翻过来也可以。这样可以实现两边都登陆,有一个问题,就是如果没走登陆流程,直接进入D6站,这个时候,D6没有cookie,主动检查D7的cookie,如果也没有,就表示匿名用户,如果有,可以跳转到D7,让D7验证,验证通过导向D6的内部登陆页面,再注册一个D6的cookie,如果没有登录,也加一个cookie表示没有登录。
这种内部登陆链接可以用drupal的user hash方式实现。
不知道这个是不是正规的解决方案。
方法二:
另外一种比较讨巧的方法,用户登录的时候种一个cookie,顶级域名的,把用户的id信息或用户名,加密存储。
重写drupal的sess_read
<?php
$uid = get_uid_from_cookie();
$user = get_user_by_uid();
这样,两套系统可以用同样的算法,cookie也可以共享,实现登陆。