|
首先感謝柏拉圖提供這么好的免費程序
在論壇上看到大家很多都想整合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文件了

php技術:利用discuz自帶通行證整合dedecms的方法以及文件下載,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。