我已经安装了AccessControl然而,MediaWiki 扩展似乎会导致访问被拒绝错误,如果您搜索甚至包含在访问受控制的页面中的任何内容。
有人使用这个扩展吗?
我想做的就是向除 5 人之外的所有人隐藏 wiki 中的一页。
MediaWiki 版本 1.18.0 访问控制版本2.1
最佳答案
我通过添加另一个命名空间来放置我需要保护的页面来解决这个问题。然后,我通过实现 searchablenamespaces Hook 来删除该命名空间的可搜索性。
通过这样做,仅通过搜索恰好位于访问控制页面中的文本就永远不会显示访问被拒绝的页面。
这是 $IP/extensions/NoSearchNameSpace/NoSearchNameSpace.php 的代码
<?php
// This is a quick hack to remove certain listed namespaces from being searchable
// Just set a list of namespace IDs in the wgNoSearchNamespaces array in LocalSettings
// ie $wgNoSearchNamespaces = array(500,501) would remove 500 and 501 from being searched
$wgHooks['SearchableNamespaces'][] = 'noSearchNameSpace';
function noSearchNameSpace($arr){
global $wgNoSearchNamespaces;
foreach($wgNoSearchNamespaces as $ns){
unset($arr[$ns]);
}
return $arr;
}
LocalSettings.php 条目示例:
// Add two custom namespaces. One for ACL pages.
// one for pages that will be ACL'd that should not be searched.
$wgExtraNamespaces[500] = "ACL";
$wgExtraNamespaces[501] = "NoSearch";
// Include the NoSearchNamespace extension
require_once("extensions/NoSearchNamespace/NoSearchNameSpace.php");
$wgNoSearchNamespaces = array('500','501');
关于mediawiki - MediaWiki 访问控制扩展的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11677336/