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、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。