经过一段时间的参考和摸索,终于整合了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 ,敬请享用本套餐,绝对开胃!