整合UCenter+MediaWiki+Discuz实现单点登录
经过一段时间的参考和摸索,终于整合了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。
- 上一篇:没有了
- 下一篇:没有了
