二级域名同步登陆解决办法

 
举例:
www.123.com
要求:
news.123.com获得www.123.com的登陆状态 以及评论/DIGG等更多交互信息

不管你是否需要整合DZ论坛等其他产品 你都可以装一个UC来做通讯中转

操作:
www.123.com为DEDE5.3 安装UC接口
生成news文件夹 绑定news.123.com
在UC后台添加应用 手动添加 news.123.com
填写通讯密钥
保存--------------显示通讯失败

拷贝www.123.com目录下相应目录到news.123.com

分别为
api
data
include
uc_client

实际上只需要这些文件夹的部分文件即可

另外需要修改几个主要文件的参数

uc_client\data\cache\apps.php    必须要在UC添加应用后重新从5.3主目录拷贝  查看下 里面写的是所有应用列表 要保持一致
例如 添加了news 然后添加 photo子域名 需要重新拷贝一次

include/common.inc.php 最下方 修改为当前二级域名的 通讯密钥 以及 APP_ID   就是UC里的序号

data/config.cache.inc.php 修改域名为二级域名地址

拷贝这些文件到 news 的根目录

到UC里测试  通讯成功

既然通讯成功了 具体怎么应用就看你的了

这里补充下:例如 评论 需要拷贝评论所需的 AJAX 等相关文件到 news下 同样道理
我们只是通讯 而没有实际上跨域 而文件调用在域名上有局限,但是文件本身只知道访问数据,调用数据
所以无论在哪里 只要文件关联完整 都可以使用
也就是让文件从NEWS 访问主数据库 来达到通信的目的

登陆状态 评论 DIGG 都可以通讯了

可以看出 NEWS 文件本身没有程序 只是个目录 也就是个域名

我们只是用主域名的文件伪装来达成通信成功

同样道理 无论任何东西 都可以这样来做 但是具体要看个人操作

如果没有扩展操作 你能获得的只是主域名的登陆状态等通用信息

不过相信此应用会有更强大的地方
下面方法更专业。只不过我不懂...
 
function PutCookie($key,$value,$kptime=0,$pa="/")
{
global $cfg_cookie_encode;
setcookie($key,$value,time()+$kptime,$pa,'jingyebnecao.com');
setcookie($key.'__ckMd5',substr(md5($cfg_cookie_encode.$value),0,16),time()+$kptime,$pa,'jingyebnecao.com');

}

function DropCookie($key)
{
setcookie($key,'',time()-360000,"/",'jingyebnecao.com');
setcookie($key.'__ckMd5','',time()-360000,"/",'jingyebnecao.com');
}

posted on 2011-08-04 16:58  l1b2q31  阅读(972)  评论(0编辑  收藏  举报

导航