ucenter整合

个人PHP项目与Ucenter整合(一)

今天研究了一天我个人的php项目与ucenter用户中心整合,从一开始的悲催,到后来的柳暗花明,现在来总结下我整合的步骤先:我弄的是ucenter1.6的gbk

1、先安装好你的个人项目和ucenter开源程序,设置虚拟的访问域名,假如我的项目访问地址为,http://my.ad.com   ucenter的访问地址为http://my.ucenter.com

2、将你从官网上下载下来的ucenter源码解压缩出来的advanced\examples\api文件夹下的uc.php文件拷贝到你网站的根目录下的api文件夹中,若没有api则新建一个api文件夹(api文件夹一定要在网站的根目录中)

2、将你从官网上下载下来的ucenter源码解压缩出来的advanced\examples文件夹下的include文件夹拷贝到你项目的根目录。文件夹内包含一个文件叫db_mysql.class.php,这是连接数据库的类。

3、将uc_client文件夹整个复制到你网站根目录,uc_client之前说了是接口代码,现在根目录已经有include和uc_client两个文件夹了。

4、复制advanced\examples文件夹内的config.inc.php到你网站的根目录,这是配置UCenter的配置文件。

5、在ucenter后台中添加新应用,截图如下:

通信密钥自己设置,越复杂愈好。点击提交后,会在提交按钮下方生成一段应用的UCenter配置信息,将这段配置信息拷贝到第2步提到的uc.php文件的最上方,如红色部分,

代码如下:uc.php

<?php
define(‘UC_CONNECT‘, ‘mysql‘);
define(‘UC_DBHOST‘, ‘localhost‘);
define(‘UC_DBUSER‘, ‘root‘);
define(‘UC_DBPW‘, ‘root‘);
define(‘UC_DBNAME‘, ‘ucenter‘);
define(‘UC_DBCHARSET‘, ‘gbk‘);
define(‘UC_DBTABLEPRE‘, ‘`ucenter`.uc_‘);
define(‘UC_DBCONNECT‘, ‘0‘);
define(‘UC_KEY‘, ‘1234567890‘);
define(‘UC_API‘, ‘http://my.ucenter.com‘);
define(‘UC_CHARSET‘, ‘gbk‘);
define(‘UC_IP‘, ‘‘);
define(‘UC_APPID‘, ‘1‘);
define(‘UC_PPP‘, ‘20‘);

define(‘IN_DISCUZ‘, TRUE);

define(‘UC_CLIENT_VERSION‘, ‘1.5.0‘);    //note UCenter 版本标识
define(‘UC_CLIENT_RELEASE‘, ‘20081031‘);

define(‘API_DELETEUSER‘, 1);        //note 用户删除 API 接口开关
define(‘API_RENAMEUSER‘, 1);        //note 用户改名 API 接口开关
define(‘API_GETTAG‘, 1);        //note 获取标签 API 接口开关
define(‘API_SYNLOGIN‘, 1);        //note 同步登录 API 接口开关
define(‘API_SYNLOGOUT‘, 1);        //note 同步登出 API 接口开关
define(‘API_UPDATEPW‘, 1);        //note 更改用户密码 开关
define(‘API_UPDATEBADWORDS‘, 1);    //note 更新关键字列表 开关
define(‘API_UPDATEHOSTS‘, 1);        //note 更新域名解析缓存 开关
define(‘API_UPDATEAPPS‘, 1);        //note 更新应用列表 开关
define(‘API_UPDATECLIENT‘, 1);        //note 更新客户端缓存 开关
define(‘API_UPDATECREDIT‘, 1);        //note 更新用户积分 开关
define(‘API_GETCREDITSETTINGS‘, 1);    //note 向 UCenter 提供积分设置 开关
define(‘API_GETCREDIT‘, 1);        //note 获取用户的某项积分 开关
define(‘API_UPDATECREDITSETTINGS‘, 1);    //note 更新应用积分设置 开关

define(‘API_RETURN_SUCCEED‘, ‘1‘);
define(‘API_RETURN_FAILED‘, ‘-1‘);
define(‘API_RETURN_FORBIDDEN‘, ‘-2‘);

同时按照这段配置信息更改第4步中说的config.inc.php文件里面相应的参数,使其与ucenter生成的配置信息保持一致。

代码如下:config.inc.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‘, ‘root‘);                    // UCenter 数据库密码
define(‘UC_DBNAME‘, ‘ucenter‘);                // UCenter 数据库名称
define(‘UC_DBCHARSET‘, ‘gbk‘);                // UCenter 数据库字符集
define(‘UC_DBTABLEPRE‘, ‘ucenter.uc_‘);            // UCenter 数据库表前缀

//通信相关
define(‘UC_KEY‘, ‘1234567890‘);                // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
define(‘UC_API‘, ‘http://my.ucenter.com‘);    // UCenter 的 URL 地址, 在调用头像时依赖此常量
define(‘UC_CHARSET‘, ‘gbk‘);                // UCenter 的字符集
define(‘UC_IP‘, ‘‘);                    // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
define(‘UC_APPID‘, 1);                    // 当前应用的 ID
define(‘UC_PPP‘, ‘20‘);
//ucexample_2.php 用到的应用程序数据库连接参数
$dbhost = ‘localhost‘;            // 数据库服务器
$dbuser = ‘root‘;            // 数据库用户名
$dbpw = ‘root‘;                // 数据库密码
$dbname = ‘ucenter‘;            // 数据库名
$pconnect = 0;                // 数据库持久连接 0=关闭, 1=打开
$tablepre = ‘example_‘;           // 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = ‘gbk‘;            // MySQL 字符集, 可选 ‘gbk‘, ‘big5‘, ‘utf8‘, ‘latin1‘, 留空为按照论坛字符集设定

//同步登录 Cookie 设置
$cookiedomain = ‘‘;             // cookie 作用域
$cookiepath = ‘/‘;            // cookie 作用路径

以上步骤弄完后,回头再去看看你的ucenter后台,更新下缓存,再瞅瞅应用管理里面,看是不是已经通信成功了呢??我想应该是的。因为我就是这样弄的。搞了半天,弄得头都快晕了,最后终于搞定。

又一次体会到了:绝望过后就是希望。。。

现在只是搞定了通信这块,接下来还要具体实施同步登陆和注册等。亲们,一起加油啊。。。

时间: 2024-10-05 11:27:05

ucenter整合的相关文章

PHPCMS与UCenter整合要点

要点一: PHPCMS不能直接与UCenter整合,而是要经过 PHPSSO 适配,因此应用主URL应是 http://phpcms_url/phpsso_server 这种模式的. 要点二: 因为 PHPCMS 是通过 PHPSSO 与 UCenter 进行整合的,UCenter 中应用通信情况仅代表 PHPSSO 与 UCenter 间连通正常.而 PHPSSO 有可能会因为 phpsso_server/caches/caches_admin/caches_data/applist.cach

ucenter 整合同步登录的内部实现原理

1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证. 2.如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid)). 3.然后这个函数后向Ucenter的index.php传递数据,index.php接受传

用Ucenter整合Wordpress和Discuz用户数据

项目需要建一个论坛并且要求论坛的用户和首页WORDPRESS的用户保持一致.这个确实挺蛋疼 然而百度是万能的 还是找到了一个办法 感谢万能的百度和万能的插件 自己实践了下 把流程整理一下 进wordpress安装一个叫做ucenter的插件(过程略) 然后安装discuz X,然后以管理员身份进入论坛后台 进入ucenter后台 进入应用管理 点击添加新应用 默认是只有Discuz的 类型选择其他: 主URL填写这个!一定不要搞错了! http://localhost/wordpress/wp-

利用ucenter整合discuz数据

由于项目需要,需要用到discuz论坛用户的数据,所以想到利用ucenter获取数据.以下为整合ucenter的过程. 1.首先你需要下载官方demo:http://faq.comsenz.com/library/UCenter/example/examples.zip.把该demo下载放到你需要整合数据的目录那里. 2.登录你的管理员管理后台,都是discuz根目录下的admin.php,然后分别点击ucenter,再登录一次,点击应用管理,选择添加应用.输入以下参数.

ucenter 整合外部网站,实现登录等操作

最近公司网站要出手机版,由于与论坛要有互通,实现会员的共享,由于对discuz不熟悉,起先考虑的是直接读取discuz的用户表,然后进行判断等操作,发现过于复杂,而且安全也不好. 前一段时间进行过论坛与商城的整合,采用的书ucenter进行整 合,很方便,不仅可以实现用户的整合,而且能够实现积分互换等操作,但是这种整合是已经在两者的系统中有过预置的,比较方便.如果能够将ucenter应 用到外部任意的自定义网站中会十分的方便,其实ucenter是有这种强大的能力的 我在本机搭建的测试环境时Dis

ucenter 整合同步登录的内部实现原理及thinkphp整合ucenter

1.用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证.2.如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用 uc_api_post('user', 'synlogin', array('uid'=>$uid)).3.然后这个函数后向Ucenter的index.php传递数据,index.php接受传递的

Thinkphp与Ucenter整合笔记

ucenter手册:http://www.phpddt.com/manual/ucenter/html/index.htm 参考:http://www.thinkphp.cn/topic/1557.html wblog1根目录| – index.php//前台入口文件| – admin.php| – W3note//前台项目| | – Lib| | | – ORG| | | | –UcService.class.php //UCenter的通讯处理类文件| | – Conf//W3note项目的

magento和discuz(ucenter)整合集成开发思路

discuz自带ucenter,主要就是用于和其他程序的通信.我们可以下载discuz的ucenter开发手册进行magento和discuz的集成.里面有一些ucenter的一些接口函数和参数说明,没有这个文档,最模板就无法进行下面: 1.把api和uc_client目录放在应用程序的跟目录. 2.修改自己的配置文件(application/config/config.ini),在最后加上下面的代码:代码如下 [ucenter]uc.UC_ON = 0uc.UC_CONNECT = mysql

《帝国网站管理系统》Ucenter接口整合,升级说明

接口说明:实现帝国CMS与Ucenter帐号同步注册.登录.退出.删除.修改用户名及更新密码. 温馨提示:Discuz通行证接口跟Ucenter接口两者选其一,不能同时安装两种整合接口方式. 一. 程序包目录说明: "upload"目录 :Ucenter整合接口包目录 "tool"目录   :将帝国CMS会员导入Ucenter的工具包目录 二. 接口整合步骤: 第 1 步:上传整合接口 将接口包的"upload"目录里的文件夹及文件上传至帝国CM