2013-03-08 51 views
0

我正在使用Media Wiki进行文档编制。在我添加了很多带有命名空间的页面,例如INTERN:My PagePublic:My Page,并且想限制这个existend命名空间的读取访问权限。wikimedia使用现有名称空间锁定

我发现扩展“锁定”,并可以将其用于新的自定义,命名空间:

define ("NS_CUSTOM", 110); 
$wgExtraNamespaces[NS_CUSTOM] = "customNamespace"; 

$wgNamespacePermissionLockdown[NS_CUSTOM]['*'] = array('sysop'); 

如果我尝试同样的代码为我存在的命名空间的旧网页不可访问, - 它看起来像网页不存在。

有没有办法限制现有命名空间的访问?我可以在数据库的某处找到名称空间ID吗?

+0

你用所有的三线,当你想锁定NS_PROJECT例如? – cyroxx 2013-03-08 18:49:59

回答

0

我创建了一个新的自定义命名空间

define ("NS_CUSTOM", 111); 
$wgExtraNamespaces[NS_CUSTOM] = "customNamespace"; 
$wgNamespacePermissionLockdown[NS_CUSTOM]['*'] = array('sysop'); 

page数据库表更改,因此行page_namespace = 111

2

根据Lockdown documentation,单行应该能满足像NS_PROJECT已经存在的命名空间:

$wgNamespacePermissionLockdown[NS_PROJECT]['*'] = array('sysop'); 

从你的问题和你自己的答案,它是不够清楚你的配置guration看起来像(例如)无论你是否试图锁定多个命名空间,也可能在那里犯了一些错误)。但是,你应该

  1. 重新定义现有的命名空间
  2. 重新使用不同的命名空间ID的NS_CUSTOM定义(这是为1的变体)