ucenter是dedecms和discuz同步的关键所在,除了正确配置使他们都能正常通信外,同步代码也是关键所在,每次登录dedecms都会调用uc_user_synlogin(用户id为参数)实现同步:

uc_user_synlogin通过fsockopen调用UC_API常量定义页面的usercontrol的onsynlogin()方法,该方法会依次调用通信成功的应用程序的/api/uc.php文件,然后MemberLogin对象调用PutLoginInfo方法将用户信息写入cookie(注意有p3p)。

同步关键在于uc_user_synlogin和各通信成功的api/uc.php文件,理解了这些,ucenter的同步登陆就很好理解了,其他的都类同,具体看实际开发中你想怎么整合!注册实现同步稍微复杂一点,但原理也类同,需要注意的是如果要从discuz方向注册时同步dede则要注意$extra的'$(\'succeedlocation\').innerHTML后加$ucsynlogin代码。