discuz与mediawiki用户同步插件

[TOC]

简介

本程序用于Ucenter和mediawiki的用户同步登录 本程序是mediawiki的extension,基于mediawiki 1.24测试 本程序不仅仅是用户数据的同步,还实现了用户的同步登录和登出 新增用户权限的设计 本程序修改了官方扩展的代码,升级了uc_client为discuz3.2使用的1.6.0 本扩展mediawiki官方文档:mediawiki官方文档

配置说明

复制DiscuzXSSO文件夹到extensions目录

LocalSetting中最后添加如下代码:

$wgGroupPermissions['*']['createaccount'] = false;//禁止注册 require_once "$IP/extensions/DiscuzXSSO/DiscuzXSSO.php"; $wgAuth = new Auth_UCenter(); // 下面这个函数在Setup.php调用,在mediawiki渲染页面之前插入我们的uc_login_hook $wgExtensionFunctions[] = 'uc_login_hook';

LocalSetting.php添加权限控制:

# The following permissions were set based on your choice in the installer $wgGroupPermissions['*']['createaccount'] = false; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createpage'] = false; $wgGroupPermissions['*']['createtalk'] = false; $wgGroupPermissions['*']['writeapi'] = false; # 取消user组的编辑权限 $wgGroupPermissions['user']['edit'] = false; # 添加可编辑用户组 $wgGroupPermissions['editor']['edit'] = true; $wgGroupPermissions['sysop']['edit'] = true;

在Ucenter中添加应用,具体参考mediawiki官方文档

Ucenter数据库配置和cookie配置需修改config.inc.php,可参考discuz的config_global.php

权限配置,修改config.inc.php中定义的GP_常量用于用户组归类

修改wiki目录/includes/specials/SpecialUserLogin.php,在attemptAutoCreate方法最后一行的return self::SUCCESS;之前添加如下代码:

echo "<script>location.reload();</script>";//解决新用户第一次登录wiki白板问题

用户权限特别说明

2015.1.20新增用户权限 discuz的自动用户官方wiki会自动添加用户(user),自动确认用户(autoconfirmed)用户组,所以通过取消用户(user)的编辑权限,添加编辑者(editor)的编辑权限来控制 新增editor用户组,如需修改中文用户组名(wiki1.24版本): 在languages/i18n/zh-hans.json line 1059添加:"group-editor":"编辑者", 在line 1073添加"grouppage-editor":"{{ns:project}}:编辑者", 按上述配置的程序的权限:见wiki特殊页面-用户组权限 discuz的用户对应到wiki分为三大类,见下表
discuz wiki
管理组(admin) 管理员
会员,高级会员,自定义组(normal) 编辑者
限制会员(limited) 限制用户

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。