天天看點

Qeephp整合ucenter實作單點登陸之個人PHP項目與Ucenter整合

前言

要實作使用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背景中添加新應用,截圖如下:

Qeephp整合ucenter實作單點登陸之個人PHP項目與Ucenter整合

其他屬性預設,點選“送出”,儲存應用!

此時傳回應用清單,通信狀态應該是失敗的!

别急,我們再修改一下配置檔案。

四、修改ucenter配置

1.編輯應用,在應用送出按鈕的下方會有一段配置

Qeephp整合ucenter實作單點登陸之個人PHP項目與Ucenter整合

将這段配置資訊拷貝到第(三)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背景,更新下緩存,再瞅瞅應用管理裡面,看是不是已經通信成功了呢??