通常采用ucenter來做中介,添加多個應用然後使多個站點有同步登錄退出的功能。
ucenter添加應用並不難,destoon官網上也有相關的教程。
但是很多朋友在幾個應用添加完畢以後,注冊一個帳號測試的時候,問題就出現了,注冊完以後,注冊頁面沒有跳轉,也沒有提示,但這個會員是注冊成功了。為什麼沒有跳轉呢?
經過斷點測試發現這是因為在Destoon的api/ucenter/control/user.php 文件中的第83行有一個寫Dscuz系統數據庫的函數在默認執行:function onregbbs() 函數。此函數功能就是向dz論壇中添加一條注冊信息。在找到注冊提交頁面在destoon的注冊信息處理文件module/member/register.inc.php(大約125行)中有這樣一段代碼
if($MOD['passport'] == ‘uc') { $uid = uc_user_register($passport, $post['password'], $post['email']); if($uid > 0 && $MOD['uc_bbs']) uc_user_regbbs($uid, $passport, $post['password'], $post['email']); }
直接屏蔽第二條語句:
//if($uid > 0 && $MOD['uc_bbs']) uc_user_regbbs($uid, $passport, $post['password'], $post['email']);
問題就解決了。