ホームページ  >  記事  >  バックエンド開発  >  Qeephp はシングル サインオンを実現するように ucenter を調整し、個人の PHP プロジェクトを Ucenter と統合します

Qeephp はシングル サインオンを実現するように ucenter を調整し、個人の PHP プロジェクトを Ucenter と統合します

WBOY
WBOYオリジナル
2016-06-13 12:35:43851ブラウズ

Qeephp は ucenter を統合してシングル サインインを実現し、個人の PHP プロジェクトを Ucenter と統合します

序文

ucenter を使用してシングル サインインを実装するには、まず ucenter プロジェクトをデプロイする必要があります

1. ucenter プログラムをダウンロードします

Discuz 公式 Web サイトにアクセスして、ucenter プログラムをダウンロードします

http://www.comsenz.com/downloads/install/ucenter

私は以下のバージョンをダウンロードしました。

UCenter_1.6.0_SC_UTF8.zip


2. インストールプログラム

PHP のインストール環境については説明しません。ダウンロードした ucenter プログラムをデプロイします。

ちなみに、私は qeephp プログラムをデプロイしました。これは私の個人プロジェクトと同じです。正常に動作することを確認してください。

私の構成:

ucenter ドメイン名: http://ucenter.webplus3.com

私のプロジェクトのドメイン名: http://www.nj-jz.com


3. 統合を開始します

1. UCenter_1.6.0_SC_UTF8.zip を解凍します

2. Advancedexamplesapi フォルダー内の uc.php ファイルを Web サイトのルート ディレクトリの api フォルダーにコピーします。API がない場合は、新しい API フォルダーを作成します (api フォルダーは Web サイトの にある必要があります)。ルートディレクトリ )

3. Advancedsexamples フォルダーの下にある include フォルダーをプロジェクトの ルート ディレクトリ にコピーします。このフォルダーには、データベースに接続するためのクラスである db_mysql.class.php というファイルが含まれています。

4. uc_client フォルダー全体を Web サイトのルート ディレクトリにコピーします。これはインターフェイス コードであるため、ルート ディレクトリには既に include と uc_client の 2 つのフォルダーがあります。

5. Advancedsexamples フォルダー内の config.inc.php を Web サイトのルート ディレクトリにコピーします。これは、UCenter を構成するための構成ファイルです。

6. ucenter バックグラウンドに新しいアプリケーションを追加します。スクリーンショットは次のとおりです。


他のプロパティはデフォルトです。[送信] をクリックしてアプリケーションを保存してください。

この時点でアプリケーションリストに戻ると、通信ステータスは失敗しているはずです。

心配しないで、設定ファイルを再度変更しましょう。


4. ucenter 構成を変更します

1. アプリケーションを編集します。アプリケーション送信ボタンの下に設定セクションがあります


この設定情報を手順 (3)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 によって生成された設定情報と一致させます。

<pre name="code" class="php"><?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 バックエンドを確認し、キャッシュを更新してから、アプリケーション管理を確認して、通信が成功したかどうかを確認します。 ?


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。