MediaWiki按分类和用户组限制页面读取权限问题求助
解决MediaWiki分类页面仅对指定用户组开放权限的问题
问题分析
你提到的$wgAccessControlTagPermissions确实是AccessControl扩展的旧版配置变量,现已废弃,这是导致权限失效、所有用户无法访问页面的核心原因。同时页面内<accesscontrol>标签的组名大小写可能与实际用户组不匹配,也会引发权限问题。
解决方案
1. 确认并启用AccessControl扩展
确保LocalSettings.php中已正确启用扩展:
wfLoadExtension( 'AccessControl' );
2. 使用新版扩展配置
替换旧版配置变量,根据需求选择以下两种方式之一:
方式一:针对单个页面的标签控制
如果需要保留页面内的<accesscontrol>标签,配置如下(注意用户组名大小写需与MediaWiki实际用户组完全一致,默认用户组为小写):
$wgAccessControlPermissions = [ 'read' => [ 'sales' => true // 此处填写实际用户组名,与页面标签<accesscontrol>sales</accesscontrol>对应 ] ];
方式二:针对整个分类批量控制
如果要让Sales分类下所有页面自动对sales组开放读取权限,无需每个页面加标签,直接配置分类权限:
$wgAccessControlCategoryPermissions = [ 'Sales' => [ // 与页面内[[Category:Sales]]的分类名一致 'read' => [ 'sales' => true ] ] ];
3. 修正页面标签(若使用方式一)
将页面内的标签修改为与用户组名一致的大小写:
<accesscontrol>sales</accesscontrol>
4. 清空缓存
修改配置后,清空MediaWiki缓存(可通过Special:Version页面的"刷新缓存"功能,或删除服务器上MediaWiki缓存目录的文件),确保配置生效。
5. 验证用户组
确认sales用户组已在MediaWiki中创建,且目标用户已加入该组(可通过Special:UserGroups页面管理用户组)。
内容的提问来源于stack exchange,提问作者HelloWorld
相关产品推荐
相关产品推荐

