整合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 dede_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文件了
下載此文件