UCenter 的中文意思就是「用户中心」,其中 U 代表 User 也代表 You,取其中的含义就是「用户中心」,或者说「你(最终用户)的中心」。UCenter 是 Comsenz 旗下各个产品之间信息直接传递的一个桥梁,通过 UCenter 站长可以无缝整合 Comsenz 系列产品,甚至其它更多的第三方应用程序,实现用户的一站式登录,个人信息、积分等的统一管理。
UCenter 分为服务端和客户端 2 个部分。服务端的目录为 upload/,客户端目录为 client/。无论你的网站有多少个应用程序,服务端在一个网站中只需安装一次。而客户端则必须存在于每一个应用的根目录中。
UCenter 分为 MySQL 和远程两种接口连接方式,MySQL 方式是直接连接数据库,因此速度较快,但当 UCenter 的服务端和客户端不在同一个主机中且没有远程 MySQL 账号的情况下,则只能使用远程连接方式。使用 UCenter 接口函数前需要根据需求定义以下相关常量:
常量 | 说明 |
|---|---|
UC_CONNECT | 连接 UCenter 的方式:mysql - MySQL方式,空 - 远程方式 |
UC_DBHOST | UCenter 数据库主机 |
UC_DBUSER | UCenter 数据库用户名 |
UC_DBPW | UCenter 数据库密码 |
UC_DBNAME | UCenter 数据库名称 |
UC_DBCHARSET | UCenter 数据库字符集 |
UC_DBTABLEPRE | UCenter 数据库前缀表 |
UC_DBCONNECT | UCenter 数据库持久连接:0 - 关闭,1- 打开 |
UC_KEY | 与 UCenter 的通信密钥,要与 UCenter 保持一致 |
UC_API | UCenter 服务端的 URL 地址 |
UC_IP | UCenter 的 IP,当 UC_CONNECT 为非 mysql 方式时,并且当前应用服务器域名解析有问题时,请设置此值 |
UC_CHARSET | UCenter 的字符集 |
UC_APPID | 当前应用的 ID |
使用 UCenter 接口函数库必须包含 uc_client/client.php 接口函数库文件,例如下面检查新短消息的代码:
include './uc_client/client.php';
$newpm = uc_pm_checknew($example_uid);UCenter 使用设置 Cookie 的方式来同步登录和退出。
//通过接口判断登录账号的正确性,返回值为数组
list($uid, $username, $password, $email) = uc_user_login($_POST['username'], $_POST['password']);
if (uid > 0) {
//生成同步登录的代码
$ucsynlogin = uc_user_synlogin($uid);
echo $ucsynlogin;//其实就是访问 UCenter 客户端接口,生成指定应用下的 Cookie。
}//生成同步退出的代码
$ucsynlogout = uc_user_synlogout();
echo $ucsynlogout;UCenter 中添加应用后在后台更新 Diszcuz 应用缓存
设置 cookiepath 为 / (即整个domain)
修改 uc_client,将 count($_CACHE['app']) > 1 中 1 修改为 0