discuz x2.5 非uctencer 整合

现为一个系统增加discuz x2.5,因各种原因未使用ucenter.
直接修改discuz程序:


思路如下:
a.com:为原站,a.com/bbs为discuz

在访问discuz时,如果用户未登录时间,在初始化用户信息时,请求a.com/xx.php来判断用户是否登录,如果a.com上登录,则计算discuz的cookie:auth,这里discuz有个cookie前缀,需要在请求a.com/xx.php的时候将这个前缀同步过去,可参考$_G[cookie],返回到论坛,已经有了auth,用户就登录了,我这里bbs是a.com的同域下,cookie可以直接使用,如果是其他域,可以通过get的方式传回到之前访问页面,在discuz程序检查auth为空情况下,再检查_get方式的auth.
如果用户未登录,则记录一个已经检查过的cookie值,下一个页面就不再到xx.php上进行检查。
如果用户登录,但是是第一次登录discuz,这里在构造auth之前,要将a.com的数据同步到disczu去,uctenr_*,common_*大概有10多个表,需要用到用户密码,和随机产生的一个私有key:salt,构造auth的方式很简单:md5(md5(密码).salt)


将用户注册,退出移到a.com,退出时清空cookie即可,如果不同域,退出的时候还需要调用bss的清cookie脚本。

整体改不动不大,全文查找即可实现。

猜你喜欢

转载自lucklrj.iteye.com/blog/1673255