02-Ucenter与WordPress整合实现用户同步登陆

上一次我们完成了Ucenter的应用添加。并且让Ucenter可以和WordPress正常的通信。

这次我们首先来测试一下WordPress中是否可以正常的调用Ucenter的用户认证方法。

当然开始之前我们也需要准备一些东西:

  • 软件:通信成功的Ucenter和WordPress一对。
  • Ucenter开发文档(手册)一份。

Ucenter的开发文档下载地址:点击这里

准备好这些东西之后让我们开始吧。

首先登陆Ucenter来检查与WordPress的通信。太棒了……一个绿色的对勾。通信成功!

现在来WordPress看一下是否可以和Ucenter通讯。

在此之前我们先来考虑这个问题:既然要在用户登陆上做手脚,那么我们修改的登陆机制怎么样嵌入WordPress?应该有以下两种做法:

  1. 直接修改WordPress源码。
  2. 以WordPress插件的形式嵌入WordPress。

当然是使用第二种更加理智一点。WordPress的代码也不是一般人可以改的。当成插件可以随意的启用和停止。也有利于后期的功能扩展。

既然觉得采用插件形式将Ucenter和WordPress登陆机制统一起来。开始之前当然不免要研究一下WordPress的插件是怎么做的了。

在网上查阅了大量的资料和自己做了N多测试之后。终于弄明白了个皮毛,简单弄了一个插件包。请先下载,我们对照代码一步步来。

wcer-v1.0

将下载到的文件解压,得到wcer文件夹。把这个文件夹放到WordPress的插件目录下[ wp-content/plugins/ ]。然后登陆wp的管理后台。

在插件管理菜单下已经发现Wcer显示在插件列表中了。我们先不急启用。先打开看看wcer中都有什么东西。

+wcer
  +css
     + css.css
  +inc
     + wcer.class.php
  +woria_wcer.php
  +wcer.php

其中css是中存放了本插件可以用到的样式表,而inc中是存放了插件的类文件。wcer.php则是插件核心文件。woria_wcer.php则是一个插件说明页面。并没有什么实际用途。

不过,在以后对wcer的扩展中,我们一定会使用到很多个页面来对插件进行设置的。所以woria_wcer.php以后还会用到。现在我们只是用它来对插件做一个简单说明。

那好,现在我们打开wcer.php看一下,当插件被启用的时候。我们都干了些什么。

php的顶部注释部分包含了插件说明。不熟悉的可以看一下网上关于插件说明的相关资料。在程序被执行的时候首先载入插件的类文件:

include(“inc/wcer.class.php”);

然后开始实例化类,执行操作。

if (class_exists("woria_wcer")) {//如果存在名为woria_wcer的类
     $wcer = new woria_wcer();//实例化一个woria_wcer
}
if(isset($wcer)){//如果存在已被实例化的woria_wcer则进行如下操作
     add_action('admin_menu', array(&$wcer, 'addMenu'));//在后台添加管理菜单。
     add_filter('authenticate', array(&$wcer, 'doLogin'), 22, 3);//在wordPress用户登陆验证后新增wcer的doLogin验证机制。
}
4 comments
  1. 装上插件
    WP后台显示通信有问题,前面uc通信显示通信成功

    开始使用同步登陆之前需要验证与Ucenter是否通信正常。

    经过检测,您的系统与Ucenter通信不正常!

    如果您的通信正常,WCer已经在工作了!它的处理机制如下:

Comments are closed.