前言
要實作使用ucenter單點登陸,則首先需要部署一個ucenter項目
一、下載下傳ucenter程式
去Discuz官網下載下傳一個ucenter程式
http://www.comsenz.com/downloads/install/ucenter
我下載下傳的是下面這個版本的。
UCenter_1.6.0_SC_UTF8.zip
二、安裝程式
php的安裝環境我就不說了,将下載下傳下來的ucenter程式部署完成。
我順便部署了一下我的qeephp程式,這個和個人項目都是一樣的,先保證運作正常。
我的配置:
ucenter域名:http://ucenter.webplus3.com
我的項目域名:http://www.nj-jz.com
三、開始整合
1、UCenter_1.6.0_SC_UTF8.zip解壓
2、将advanced\examples\api檔案夾下的uc.php檔案拷貝到你網站的根目錄下的api檔案夾中,若沒有api則建立一個api檔案夾(api檔案夾一定要在網站的根目錄中)
3、将advanced\examples檔案夾下的include檔案夾拷貝到你項目的根目錄。檔案夾内包含一個檔案叫db_mysql.class.php,這是連接配接資料庫的類。
4、将uc_client檔案夾整個複制到你網站根目錄,uc_client之前說了是接口代碼,現在根目錄已經有include和uc_client兩個檔案夾了。
5、複制advanced\examples檔案夾内的config.inc.php到你網站的根目錄,這是配置UCenter的配置檔案。
6、在ucenter背景中添加新應用,截圖如下:
其他屬性預設,點選“送出”,儲存應用!
此時傳回應用清單,通信狀态應該是失敗的!
别急,我們再修改一下配置檔案。
四、修改ucenter配置
1.編輯應用,在應用送出按鈕的下方會有一段配置
将這段配置資訊拷貝到第(三)2步提到的uc.php檔案的最上方。
添加後的檔案前20行(其中2-15行是拷貝過來的配置)如下:
<?php
define('UC_CONNECT', 'mysql');
define('UC_DBHOST', 'localhost');
define('UC_DBUSER', 'root');
define('UC_DBPW', '12344');
define('UC_DBNAME', 'web3_ucenter');
define('UC_DBCHARSET', 'utf8');
define('UC_DBTABLEPRE', '`web3_ucenter`.uc_');
define('UC_DBCONNECT', '0');
define('UC_KEY', '123456');
define('UC_API', 'http://ucenter.webplus3.com');
define('UC_CHARSET', 'utf-8');
define('UC_IP', '');
define('UC_APPID', '2');
define('UC_PPP', '20');
define('IN_DISCUZ', TRUE);
define('UC_CLIENT_VERSION', '1.5.0'); //note UCenter 版本辨別
define('UC_CLIENT_RELEASE', '20081031');
同時按照這段配置資訊更改第5步中說的config.inc.php檔案裡面相應的參數,使其與ucenter生成的配置資訊保持一緻。
<?php
define('UC_CONNECT', 'mysql');// 連接配接 UCenter 的方式: mysql/NULL, 預設為空時為 fscoketopen()
// mysql 是直接連接配接的資料庫, 為了效率, 建議采用 mysql
//資料庫相關 (mysql 連接配接時, 并且沒有設定 UC_DBLINK 時, 需要配置以下變量)
define('UC_DBHOST', 'localhost');// UCenter 資料庫主機
define('UC_DBUSER', 'root');// UCenter 資料庫使用者名
define('UC_DBPW', '12344');// UCenter 資料庫密碼
define('UC_DBNAME', 'web3_ucenter');// UCenter 資料庫名稱
define('UC_DBCHARSET', 'utf8'); // UCenter 資料庫字元集
define('UC_DBTABLEPRE', 'web3_ucenter.uc_'); // UCenter 資料庫表字首
//通信相關
define('UC_KEY', '123456');// 與 UCenter 的通信密鑰, 要與 UCenter 保持一緻
define('UC_API', 'http://ucenter.webplus3.com');// UCenter 的 URL 位址, 在調用頭像時依賴此常量
define('UC_CHARSET', 'utf-8'); // UCenter 的字元集
define('UC_IP', ''); // UCenter 的 IP
//當 UC_CONNECT 為非 mysql 方式時, 并且目前應用伺服器解析域名有問題時, 請設定此值
define('UC_APPID', 2); // 目前應用的 ID
define('UC_PPP', '20');
//同步登入 Cookie 設定
$cookiedomain = ''; // cookie 作用域
$cookiepath = '/'; // cookie 作用路徑
以上步驟弄完後,回頭再去看看你的ucenter背景,更新下緩存,再瞅瞅應用管理裡面,看是不是已經通信成功了呢??