尽管thinksns提供了ucenter之间用户信息(discuz!)的同步办法,但是在使用上还是有一些不太方便的地方。例如需要用户在ucenter的discuz论坛中再次激活确认,增加了用户使用的复杂度。为此,需要更加彻底的用户数据同步办法,以下是我个人的解决方案。
thinksns与ucenter discuz论坛用户数据的整合同步方案
此处暂时略去500字……discuz以ucenter为核心,用户数据都存放在ucenter。开始走了弯路,论坛也有一张pre_common_member表,保存用户名和密码,不过这里的密码是随机数md5加密值。真正密码在pre_ucenter_members中,密码使用两次md5加密,而md5的salt也存放在此表中salt字段。
涉及数据表
表1 ts_ucenter_user_link:thinksns与ucenter discuz用户关系关联表。
表2 ts_user thinksns用户信息表
表3 ucenter_u:ucenter用户信息表
ucenter用户密码加密方法
$salt = substr(uniqid(rand()), -6);//uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 id。 $password = md5(md5($password).$salt);