最近公司网站要出手机版,由于与论坛要有互通,实现会员的共享,由于对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里的说明

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

  1. Ucenter整合Thinkphp 双向同步登录退出

    1.整合初步工作: 1,安装Ucenter,完成后添加应用,填写要对接的网站地址 2,api , uc_client目录放置对接项目的根目录 3,通信对接,新建Ucenter组,confi文件填写在u ...

  2. discuz !NT 3.5 论坛整合 .net 网站用户登录,退出

    using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlCont ...

  3. 在Winform混合式框架中整合外部API接口的调用

    在我们常规的业务处理中,一般内部处理的接口多数都是以数据库相关的,基于混合式开发的Winform开发框架,虽然在客户端调用的时候,一般选择也是基于Web API的调用,不过后端我们可能不仅仅是针对我们 ...

  4. Spring Security 整合freemaker 实现简单登录和角色控制

    Spring Security 整合freemaker 实现简单登录和角色控制     写这篇文章是因为我做了一个电商网站项目,近期刚加上权限控制.整个过程很简单,在此给大家梳理一下,也算是自己对知识 ...

  5. 【ASP.NET】UCenter实现多站点同步登录退出

    利用UCenter实现discuz论坛和应用网站同步登录和退出功能 测试环境:Discuz! X3.2.UCenter 1.6..Net Framework 4.0 进入Discuz 后台的UCent ...

  6. PHPCMS与UCenter整合要点

    要点一: PHPCMS不能直接与UCenter整合,而是要经过 PHPSSO 适配,因此应用主URL应是 http://phpcms_url/phpsso_server 这种模式的. 要点二: 因为 ...

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

    Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这 ...

  8. C#模拟网站用户登录

    我们在写灌水机器人.抓资源机器人和Web网游辅助工具的时候第一步要实现的就是用户登录.那么怎么用C#来模拟一个用户的登录拉?要实现用户的登录,那么首先就必须要了解一般网站中是怎么判断用户是否登录的. ...

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

    为了练手,我就自己试着做了一个网站的登录与注册的小案例.由于没有做美化处理,所以界面并不是很好看. 网站实现的功能如下: 用户首次注册功能 用户登录功能 项目目录展示: 下面我将会分模块展示 注册模块 ...

随机推荐

  1. Java小bug

    1.使用split函数,将字符串按"."分开,写法如下: String str = "a.b.c"; String[] items = str.split(&q ...

  2. 【转】搭建nginx+tomcat+Java的负载均衡环境

    一.简介: Tomcat在高并发环境下处理动态请求时性能很低,而在处理静态页面更加脆弱.虽然Tomcat的最新版本支持epoll,但是通过Nginx来处理静态页面要比通过Tomcat处理在性能方面好很 ...

  3. jquery元素插入、删除、清空

    1)jquery元素插入 <!--位置1--> <div id='test'> <!--位置2--> <div>测试</div> <! ...

  4. 用qpython3写一个最简单的发送短信的程序

    到目前为止并没有多少手机应用是用python开发的,不过qpython可以作为一个不错的玩具推荐给大家来玩. 写一个最简单的发送短信的程序,代码如下: #-*-coding:utf8;-*- #qpy ...

  5. js从后台无法取值问题

    前台代码 <script type="text/javascript"> $(function () { var chart; $(document).ready(fu ...

  6. fancybox 最基本的使用步骤

    初步使用第一步 :引用js和样式 第二步 :设定要触发显示的元素(a标签,链接href指向div的id)  <div><a href="#adddivtest" ...

  7. 修改FastColoredTextBox控件完成选择

    //判断是否是中文        public bool IsChina(char c)        { bool BoolValue = false;            if (Convert ...

  8. C++模板中的函数对象

    在C++模板类map中一个参数为Compare类型,该类型为一个比较函数,其完整定义如下: template< class Key, class T, class Compare = std:: ...

  9. 有100个节点的AVL树最大深度是多少?

    首先说AVL树的概念 1 左右子树的深度差<=1 2 左右子树都是AVL树. 其实这样算,可以倒推的. 空树  DEPTH = 0; AVL_DEPTH = 2^0+2^1+......+2^k ...

  10. java Scanner

    public static void main(String[] args) throws IOException { System.out.print("Enter a number:&q ...