入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

整合UCenter+MediaWiki+Discuz实现单点登录

创建时间:2012-02-22 投稿人: 浏览次数:112

经过一段时间的参考和摸索,终于整合了UCenter、MediaWiki和Discuz,用来实现单点登录。

我整合的各个版本都是UTF-8编码的,如下:

UCenter 1.6.0 、mediawiki-1.18.0、Discuz X2

好了,把她们分别安装好,接着就可以整合了,哈哈!

一、修改ucenter

在ucenter中添加群组管理(即可以用作对mediawiki的访问权限管理,也可以用于用户管理)和部门管理(用于用户管理),第一步如果不熟悉uc的框架结构,很难找到修改的入口,具体的源代码我会在本文后面集中放出地址,添加之后如下图:

二、修改mediawiki

Auth_UC.zip 解压到/extensions目录下,

修改LocalSettings.php,在文件的末尾加入如下代码:

$wgGroupPermissions["*"]["createaccount"] = false;//禁止注册

    // UC插件调用
    require_once "./extensions/Auth_UC/Auth_UCenter.php";
	//*
    $wgSMF_WikiGroupID = "1,2,3";  //UCenter中群组对应的群组id号
    $wgSMF_WikiGroupName = "user"; // Name of your group
    $wgSMF_UseWikiGroup = true; 
    $wgSMF_UseExtDatabase = true;
    $wgSMF_Version = "X2"; // Discuz版本
    $wgSMF_MySQL_Host = "localhost"; // UCenter MySQL Host Name. 
    $wgSMF_MySQL_Username = "root"; // UCenter MySQL Username.
    $wgSMF_MySQL_Password = "root"; // UCenter MySQL Password.
    $wgSMF_MySQL_Database = "ucenter"; // UCenter MySQL Database Name.
    $wgSMF_Charset = "utf8"; // UCenter MySQL Database Name. 
    $wgSMF_UserTB = "uc_members"; // UCenter 用户表
	$wgSMF_UserextTB = "uc_ext_members";//UCenter 扩展用户表
    $wgSMF_UserFieldTB = "uc_memberfields"; // Name of your SMF user table. 
    $wgSMF_GroupsTB = "uc_ext_group"; // UCenter 群组表
	//*/
    $wgAuth = new Auth_UCenter();
    // UC插件调用结束
配置/extensions/Auth_UC/config.inc.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", "utf8");
define("UC_DBTABLEPRE", "`ucenter`.uc_");
define("UC_DBCONNECT", "0");
define("UC_KEY", "123456789");
define("UC_API", "http://localhost/ucenter");
define("UC_CHARSET", "utf-8");
define("UC_IP", "127.0.0.1");
define("UC_APPID", "2");
define("UC_PPP", "20");
/******************************************/

//用到的应用程序数据库连接参数
$dbhost = UC_DBHOST;			// 数据库服务器
$dbuser = UC_DBUSER;			// 数据库用户名
$dbpw = UC_DBPW;				// 数据库密码
$dbname = UC_DBNAME;			// 数据库名
$pconnect = UC_DBCONNECT;				// 数据库持久连接 0=关闭, 1=打开
$tablepre = UC_DBTABLEPRE;   		// 表名前缀, 同一数据库安装多个论坛请修改此处
$dbcharset = UC_CHARSET;			// MySQL 字符集, 可选 "gbk", "big5", "utf8", "latin1", 留空为按照论坛字符集设定
配置uc与mw的通信

在应用管理中添加一个应用mediawiki,应用的主URL填入“http://localhost/mediawiki-1.18.0/extensions/Auth_UC”,这里的localhost可根据自己的情况酌情改变,通信密匙填入“123456789”,此处和上面的配置文件“define("UC_KEY", "123456789");”保持一致。如图:

 


其他的默认,保存后就会看见uc和mw通信成功,若不成功,好好检查配置文件。

三、修改Discuz

禁止DZ注册就OK。


好了,全部搞定。最终整合源代码为: UCenter+MediaWiki+Discuz X2.zip ,敬请享用本套餐,绝对开胃!



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像