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

最近公司网站要出手机版,由于与论坛要有互通,实现会员的共享,由于对discuz不熟悉,起先考虑的是直接读取discuz的用户表,然后进行判断等操作,发现过于复杂,而且安全也不好。

前一段时间进行过论坛与商城的整合,采用的书ucenter进行整 合,很方便,不仅可以实现用户的整合,而且能够实现积分互换等操作,但是这种整合是已经在两者的系统中有过预置的,比较方便。如果能够将ucenter应 用到外部任意的自定义网站中会十分的方便,其实ucenter是有这种强大的能力的

我在本机搭建的测试环境时Discuz! X2 Release 20111221 ;UCenter 1.6.0 Release 20110501;

已经实现了与ecshop的通信

现在我们下载一个ucenter的完整包 我们看见里面有advanced,advanced里有document这是借口的说明文档,example这是例子,uc_client这是客户端。

我们现在ucenter里添加新应用

应用类型选择其他

选项结合自己的情况填写,其中应用的主url就是说比如你的主目录在根目录下的root,就填http://localhost/root

提交后会有应用的ucenter的配置信息

我把examples复制到uctest目录下,把uc_client复制到examples目录下

修改config.inc.php文件的内容

下面是我的配置文件的内容

  1. <?php
  2. define(‘UC_CONNECT‘, ‘mysql‘);              // 连接 UCenter 的方式: mysql/NULL, 默认为空时为 fscoketopen()
  3. // mysql 是直接连接的数据库, 为了效率, 建议采用 mysql
  4. //数据库相关 (mysql 连接时, 并且没有设置 UC_DBLINK 时, 需要配置以下变量)
  5. define(‘UC_DBHOST‘, ‘localhost‘);           // UCenter 数据库主机
  6. define(‘UC_DBUSER‘, ‘root‘);                // UCenter 数据库用户名
  7. define(‘UC_DBPW‘, ‘123456‘);                    // UCenter 数据库密码
  8. define(‘UC_DBNAME‘, ‘discuz‘);              // UCenter 数据库名称
  9. define(‘UC_DBCHARSET‘, ‘gbk‘);              // UCenter 数据库字符集
  10. define(‘UC_DBTABLEPRE‘, ‘`discuz`.pre_ucenter_‘);           // UCenter 数据库表前缀
  11. //通信相关
  12. define(‘UC_KEY‘, ‘example2‘);               // 与 UCenter 的通信密钥, 要与 UCenter 保持一致
  13. define(‘UC_API‘, ‘http://localhost/discuz/uc_server‘);  // UCenter 的 URL 地址, 在调用头像时依赖此常量
  14. define(‘UC_CHARSET‘, ‘gbk‘);                // UCenter 的字符集
  15. define(‘UC_IP‘, ‘‘);                    // UCenter 的 IP, 当 UC_CONNECT 为非 mysql 方式时, 并且当前应用服务器解析域名有问题时, 请设置此值
  16. define(‘UC_APPID‘, 3);                  // 当前应用的 ID
  17. //ucexample_2.php 用到的应用程序数据库连接参数
  18. $dbhost = ‘localhost‘;          // 数据库服务器
  19. $dbuser = ‘root‘;           // 数据库用户名
  20. $dbpw = ‘123456‘;               // 数据库密码
  21. $dbname = ‘ps_example‘;         // 数据库名
  22. $pconnect = 0;              // 数据库持久连接 0=关闭, 1=打开
  23. $tablepre = ‘example_‘;         // 表名前缀, 同一数据库安装多个论坛请修改此处
  24. $dbcharset = ‘gbk‘;         // MySQL 字符集, 可选 ‘gbk‘, ‘big5‘, ‘utf8‘, ‘latin1‘, 留空为按照论坛字符集设定
  25. //同步登录 Cookie 设置
  26. $cookiedomain = ‘‘;             // cookie 作用域
  27. $cookiepath = ‘/‘;          // cookie 作用路径
  28. ?>

其中的很多信息如果不会填,可以再ucenter的应用的 UCenter 配置信息:

中找到,

这时候就会显示ucenter相应的应用通信成功了,具体接口如何使用参见example和document里的说明

时间: 2024-07-31 17:15:40

ucenter 整合外部网站,实现登录等操作的相关文章

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整合

个人PHP项目与Ucenter整合(一) 今天研究了一天我个人的php项目与ucenter用户中心整合,从一开始的悲催,到后来的柳暗花明,现在来总结下我整合的步骤先:我弄的是ucenter1.6的gbk 1.先安装好你的个人项目和ucenter开源程序,设置虚拟的访问域名,假如我的项目访问地址为,http://my.ad.com   ucenter的访问地址为http://my.ucenter.com 2.将你从官网上下载下来的ucenter源码解压缩出来的advanced\examples\a

C#模拟网站用户登录

我们在写灌水机器人.抓资源机器人和Web网游辅助工具的时候第一步要实现的就是用户登录.那么怎么用C#来模拟一个用户的登录拉?要实现用户的登录,那么首先就必须要了解一般网站中是怎么判断用户是否登录的. HTTP协议是一个无连接的协议,也就是说这次对话的内容和状态与上次的无关,为了实现和用户的持久交互,网站与浏览器之前在刚建立会话时将在服务 器内存中建立一个Session,该Session标识了该用户(浏览器),每一个Session都有一个唯一的ID,第一次建立会话时服务器将生成的这 个ID传给浏览

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

Asp.Net MVC3.0网站统计登录认证的在线人数

Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这么个数字也是很了不起的事情.由于之前对于这个知识点只是知道,并没有去了解过,这两天偶然的机会又看到了,于是自己整理了一个简单的版本,也方便让大家来给提提意见. 本文主要通过Application和Session全局来统计在线人数,暂时只统计登录验证过的.实现的大致方案如下: 1.在全局应用程序启动的

JSP +MySQL实现网站的登录与注册小案例

为了练手,我就自己试着做了一个网站的登录与注册的小案例.由于没有做美化处理,所以界面并不是很好看. 网站实现的功能如下: 用户首次注册功能 用户登录功能 项目目录展示: 下面我将会分模块展示 注册模块 首先需要一个注册界面,如下register.jsp: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <

Linux 记录所有用户登录和操作的详细日志

1.起因 最近linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录. 一般大家通常会采用history来记录,但是history有个缺陷就是默认是1000行,当然你也可以vim /etc/profile将1000修改成1000000行,但是这只是比较笼统的做法,看不到详细的用户来源已经操作记录,比如来源ip地址.操作时间.操作用户等. 所以我们不得不自己写代码来实现这样的功能. 2.自动记录脚本 编写脚本如下: history USER=`whoami

Mysql初步认实和搭建LAMP环境部署Ucenter和Ucenter-home网站

目标: 在xuegod63.cn服务器上,使用网站模版UCenter_1.5.0_SC_UTF8.zip和UCenter_Home_2.0_SC_UTF8.zip为公司搭建一个类似人人网的网站.在windows上,使用访问uc.duwers63.cn可以访问UCenter:使用www.duwers63.cn可以访问UCenter_Home. 安装 yum -y install httpd mysql-server mysql phpphp-mysql 软件包解释: httpd #web网站服务器

Nginx对某个目录或整个网站进行登录认证的方法

比如要对 网站目录下的 test 文件夹 进行加密认证 首先需要在opt 的主目录中 /opt/ 创建一个新文件 htpasswd 此文件的书写格式是 用户名:密码 每行一个账户 并且 密码必须使用函数 crypt(3) 加密 官方档说 可以用 Apache 的 htpasswd 工具来创建密码文件 [[email protected] /]# htpasswd -bash: htpasswd: command not found [[email protected] /]# 如果上述提示则需要