当前位置: 首页 > 图文教程 > 网络编程 > PHP > 利用discuz自带通行证整合dedecms的方法以及文件下载

PHP
MYSQL版本大于4.1问题 - PHPchina
怎么让用户点击一个连接后,把一个图片另存了 - PHPchina
武汉10月15日Phper聚会召集!!! - PHPchina
php如果不等待exec执行的程序创建的子进程? - PHPchina
哪位知道DISCUZ处理防SQL注入的代码是哪部分 - PHPchina
求教!我实在不知道哪里问题,在线等ing - PHPchina
怎样结束用户某一进程 - PHPchina
比对用户名密码能不能这样写? - PHPchina
求助:如何在PHP+mysql中实现数据备份? - PHPchina
大家看看这个配置对吗 - PHPchina
如何禁止require当前文件 - PHPchina
无法将回调函数放在类中? - PHPchina
村里 PHP代码高亮是怎么实现的? - PHPchina
apache安装后.服务里没有apache2这个服务! - PHPchina
请教一个小问题 - PHPchina
config.php里面是不是应该把多数参数设置为常量而不是变量? - PHPchina
请教高手一个问题 - PHPchina
如何让百度收录我的网站 ?? - PHPchina
谁能给个注入的简单语句? - PHPchina
求PHP站内搜索思路 - PHPchina

PHP 中的 利用discuz自带通行证整合dedecms的方法以及文件下载


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 54 ::
收藏到网摘: n/a

整合discuz的通行证:利用discuz自带通行证整合dede的方法以及文件下载
首先感谢柏拉图提供这么好的免费程序
在论坛上看到大家很多都想整合discuz。我想柏拉图肯定会弄一个非常完善的dede的通行证。
在没有出来之前我们就用discuz自带的通行证吧。个人看了一下还是非常不错的。
一:前提准备以及版本:
dede版本:3.1 lit版,3.1正式版上测试都通过
discuz版本。用的是最新的5.0版本
二:主要涉及几个文件
1:dede:
(1)include/config_passport.php
主要是通行证私有密匙。这个跟安全相关,必须两个系统设置一样才能通行
在这里主要是 $cfg_pp_encode。假设设置为 $cfg_pp_encode = 'UfJDq4089S'
(2)member/index_do.php主要处理与discuz同步登陆、同步注册、同步退出
至于会员的同步修改(主要是密码和email)在同步登陆的时候利用通行证机制已经完成了。所以大家不要再问密码同步怎么办
(3)新加入文件zxwpassport.php
里面主要是设置同步discuz开关、以及同步的相关处理函数
注意:这里相关的跳转地址根据大家测试或者实际地址来修改
比如:Location: http://localhost/discuz/api/passport.php
改成你的 Location: http://localhost/bbs/api/passport.php
$forward = 'http://localhost/member/index.php';
改成你的
$forward = 'http://www.aaa.com/member/index.php';
2:discuz
(1)主要在系统后台管理设置discuz的通行证如图所示
在扩展设置-》通行证设置那里设置


注意这里是设置dede的会员登陆、会员注册、会员退出的地址
关键是设置好通行证私有密匙 记住跟dede的要一致 参考dede的include/config_passport.php的配置。这里假设是UfJDq4089S
好了把这些看明白之后。大家把zxwpassport.php和修改后的index_do.php下载。放到
member/目录下就ok了。这里index_do.php只是加入了discuz同步的处理其实很简单
比如。同步登陆一般都是加入如下的语句就可以。只有在登陆的时候加了一个email提取
CODE:

$row = $dsql->GetOne("select email from #@__member where ID='".$cfg_ml->M_ID."'");
$dedeemail = $row['email'];
$dsql->Close();
//与discuz论坛同步登陆开始
if ($cfg_discuz==1)
{
discuzlogin($userid,$pwd,$dedeemail);
}//$cfg_discuz==1 结束
//与disuz论坛同步登陆结束
[Copy to clipboard]

最后记住在zxwpassport.php函数处理中。设置好自己的回转地址:
Location: http://localhost/bbs/api/passport.php
$forward = 'http://localhost/member/index.php';
当然也可以写到配置文件中。不过懒得写了。大家自己弄吧。很简单的
zxwpassport.php和index_do.php文件打包成passport.rar文件了
下载文件 下载此文件