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

转自:http://blog.csdn.net/simpleiseasy/article/details/7282546

 

一、修改ucenter

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

二、修改mediawiki

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

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

 

[php] view plain copy print ?
  1. $wgGroupPermissions['*']['createaccount'] = false;//禁止注册  
  2.   
  3.     // UC插件调用  
  4.     require_once './extensions/Auth_UC/Auth_UCenter.php';  
  5.     //*  
  6.     $wgSMF_WikiGroupID = '1,2,3';  //UCenter中群组对应的群组id号  
  7.     $wgSMF_WikiGroupName = 'user'// Name of your group  
  8.     $wgSMF_UseWikiGroup = true;   
  9.     $wgSMF_UseExtDatabase = true;  
  10.     $wgSMF_Version = 'X2'// Discuz版本  
  11.     $wgSMF_MySQL_Host = 'localhost'// UCenter MySQL Host Name.   
  12.     $wgSMF_MySQL_Username = 'root'// UCenter MySQL Username.  
  13.     $wgSMF_MySQL_Password = 'root'// UCenter MySQL Password.  
  14.     $wgSMF_MySQL_Database = 'ucenter'// UCenter MySQL Database Name.  
  15.     $wgSMF_Charset = 'utf8'// UCenter MySQL Database Name.   
  16.     $wgSMF_UserTB = 'uc_members'// UCenter 用户表  
  17.     $wgSMF_UserextTB = 'uc_ext_members';//UCenter 扩展用户表  
  18.     $wgSMF_UserFieldTB = 'uc_memberfields'// Name of your SMF user table.   
  19.     $wgSMF_GroupsTB = 'uc_ext_group'// UCenter 群组表  
  20.     //*/  
  21.     $wgAuth = new Auth_UCenter();  
  22.     // UC插件调用结束  

配置/extensions/Auth_UC/config.inc.php,代码如下:

 

[php] view plain copy print ?
  1. <?php  
  2. /******************************************/  
  3. define('UC_CONNECT''mysql');  
  4. define('UC_DBHOST''localhost');  
  5. define('UC_DBUSER''root');  
  6. define('UC_DBPW''root');  
  7. define('UC_DBNAME''ucenter');  
  8. define('UC_DBCHARSET''utf8');  
  9. define('UC_DBTABLEPRE''`ucenter`.uc_');  
  10. define('UC_DBCONNECT''0');  
  11. define('UC_KEY''123456789');  
  12. define('UC_API''http://localhost/ucenter');  
  13. define('UC_CHARSET''utf-8');  
  14. define('UC_IP''127.0.0.1');  
  15. define('UC_APPID''2');  
  16. define('UC_PPP''20');  
  17. /******************************************/  
  18.   
  19. //用到的应用程序数据库连接参数  
  20. $dbhost = UC_DBHOST;            // 数据库服务器  
  21. $dbuser = UC_DBUSER;            // 数据库用户名  
  22. $dbpw = UC_DBPW;                // 数据库密码  
  23. $dbname = UC_DBNAME;            // 数据库名  
  24. $pconnect = UC_DBCONNECT;               // 数据库持久连接 0=关闭, 1=打开  
  25. $tablepre = UC_DBTABLEPRE;          // 表名前缀, 同一数据库安装多个论坛请修改此处  
  26. $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。

你可能感兴趣的:(mediawiki,ucenter)