ThinkPHP與Discuz通過Ucenter同步登錄過程記錄

  1. 下載discuz源碼并懂拾,以及附件中的api.zip啡莉,ThinkphpUcenter.zip文件逃默,將源碼與ThinkPHP框架部署如下:
Paste_Image.png

按照上圖部署完項目目錄后進(jìn)入下一步攀圈,關(guān)于config.inc.php文件在此先不用關(guān)心昭娩,在安裝完成discuz并在ucenter中添加了應(yīng)用之后便可得到此文件中的代碼凛篙。
2.安裝discuz論壇 http://yourhost/discuz/install
3.安裝完成后進(jìn)入管理中心若提示:Please delete install/index.php via FTP! 需將/discuz/install/install.php 刪除或改名稱
之后進(jìn)入Ucenter點擊應(yīng)用管理添加應(yīng)用。應(yīng)用配置如下圖

Paste_Image.png

填寫完成后提交栏渺,會在提交按鈕下方出現(xiàn)配置代碼:

Paste_Image.png

將些部分代碼復(fù)制到config.inc.php文件中保存呛梆,至此在Ucenter應(yīng)用管理列表中的該應(yīng)用通訊狀態(tài)應(yīng)為通訊成功。

  1. 回到項目目錄磕诊,在ThinkPHP應(yīng)用的配置文件config.php中添加數(shù)組元素“'AUTH_KEY' => 'xxxxx”填物;值在Discuz配置文件目錄config下的config_global.php文件中的$_config['security']['authkey']的值。
  2. 修改Ucenter與ThinkPHP沖突的類名
    (1)/uc_client/model/base.php 將類名改為uc_base (只需更改類名不需更改文件名)
    (2)將/uc_client/control/下的所有繼承base類的文件改為繼承uc_base
    (3)檢查/uc_client/lib/db.class.php 類名是否為 ucclient_db霎终,若為db則需更改為ucclient_db
  3. 配置雙向登錄
    創(chuàng)建BaseController.class.php 文件滞磺,使所有Controller都繼承自BaseController,BaseController.class.php代碼如下
    protected function _initialize()
    {
        if (checkLogin()) {
            $this->autologin();
        }
    }
    public function autologin()
    {
        if (isset($_COOKIE['8asp_2132_auth']) && !empty($_COOKIE['8asp_2132_auth'])) {
            Vendor('ThinkphpUcenter.UcApi');//載入UcApi擴(kuò)展
            $key = md5(C('AUTH_KEY') . $_COOKIE['8asp_2132_saltkey']);//獲取在本應(yīng)用的配置文件config.php中的解密鑰匙
            $userMsg = explode("\t", uc_authcode($_COOKIE['8asp_2132_auth'], 'DECODE', $key)); //得到加了密的password【$userMsg[0]】和uid【$userMsg[1]】
            $userInfo = uc_get_user($userMsg[1], 1);//通過uid獲取username
            $_SESSION['user_id'] = $userMsg[1];
            $_SESSION['username'] = $userInfo[1];
            $_SESSION['email'] = $userInfo[2];
            $member = D('member')->where('user_name ="' . $userInfo[1] . '"')->find();
            session('member', $member);
        } else {
            //do something
        }
    }

其中$_COOKIE['8asp_2132_auth']中的8asp可通過dump($_COOKIE);來獲取將此代碼段中的四處$_COOKIE['XXXX_2132_XXXX']替換為dump出的前綴莱褒。完成后在項目登錄方法中登錄驗證成功后添加如下代碼

                vendor('ThinkphpUcenter.UcApi');
                $login = UcApi::login($member['user_name'],$pass);
                if (!$login){
                    $this->error('同步登錄失敗','/Index/index');
                }
                echo $login['synlogin'];//這一步一定添加击困,此處輸出的為同步登錄的js代碼,若使用ajax傳值此處應(yīng)別做處理

退出登錄時在退出成功后調(diào)用以下代碼

    vendor('ThinkphpUcenter.UcApi');
    echo UcApi::logout();//輸出同步登出的代碼 與登錄時類似

7.項目注冊后論壇同步用戶信息

在項目網(wǎng)站注冊時需同時向以下數(shù)據(jù)表插入用戶數(shù)據(jù)
common_member广凸、common_member_status阅茶、common_member_profile、common_member_field_forum谅海、common_member_field_home脸哀、common_member_account等以保證用戶被激活,注意哪些字段不能為空扭吁。
8.論壇注冊后同步到用戶信息
與第7條類似撞蜂,在discuz注冊方法中將用戶信息添加到項目網(wǎng)站相關(guān)數(shù)據(jù)表即可(對discuz了解較少盲镶,未實現(xiàn))

附件一:api.zip 鏈接: http://pan.baidu.com/s/1slF2GjV 密碼: dz6e
附件二:ThinkPHPUcenter.zip鏈接: http://pan.baidu.com/s/1nvCnhmL 密碼: in63

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谅摄,隨后出現(xiàn)的幾起案子徒河,更是在濱河造成了極大的恐慌,老刑警劉巖送漠,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顽照,死亡現(xiàn)場離奇詭異,居然都是意外死亡闽寡,警方通過查閱死者的電腦和手機(jī)代兵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來爷狈,“玉大人植影,你說我怎么就攤上這事∠延溃” “怎么了思币?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長羡微。 經(jīng)常有香客問我谷饿,道長,這世上最難降的妖魔是什么妈倔? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任博投,我火速辦了婚禮,結(jié)果婚禮上盯蝴,老公的妹妹穿的比我還像新娘毅哗。我一直安慰自己,他們只是感情好捧挺,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布虑绵。 她就那樣靜靜地躺著,像睡著了一般松忍。 火紅的嫁衣襯著肌膚如雪蒸殿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天鸣峭,我揣著相機(jī)與錄音,去河邊找鬼酥艳。 笑死摊溶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的充石。 我是一名探鬼主播莫换,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拉岁?” 一聲冷哼從身側(cè)響起坷剧,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎喊暖,沒想到半個月后惫企,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡陵叽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年狞尔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巩掺。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡偏序,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胖替,到底是詐尸還是另有隱情研儒,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布独令,位于F島的核電站端朵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏记焊。R本人自食惡果不足惜逸月,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遍膜。 院中可真熱鬧碗硬,春花似錦、人聲如沸瓢颅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挽懦。三九已至翰意,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間信柿,已是汗流浹背冀偶。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留渔嚷,地道東北人进鸠。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像形病,于是被迫代替她去往敵國和親客年。 傳聞我的和親對象是個殘疾皇子霞幅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容