Manual:$wgNamespaceProtection/zh
访问: $wgNamespaceProtection | |
---|---|
哪个名字空间能够被谁编辑? |
|
引进版本: | 1.10.0 (r19110) |
移除版本: | 仍在使用 |
允许的值: | () |
$wgNamespaceProtection = []; (1.14+)$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13) |
|
其他设置: 按首字母排序 | 按功能排序 |
详情
此设置允许一个wiki要求特殊权限来编辑某些名字空间。
默认来说,只有MediaWiki命名空间被限制,仅限拥有editinterface
权限的用户(默认情况下为管理员)可以编辑。
The array's keys are namespace numbers, and the values are simple arrays of permission names. 如果你给一个名字空间列举了多于一项的权限要求,那那个用户必须拥有所列举的所有权限才能在那个名字空间进行编辑。
自从版本1.14起,MediaWiki: 命名空间被无条件保护,仅允许拥有editinterface
的用户编辑(与之前版本相同)。
这在Setup.php 中设置,而且无法在LocalSettings.php 中修改。因为要是被不正确地设置容易导致wiki不安全。
如果你想允许除管理员以外的用户组编辑MediaWiki: 命名空间,请对这些用户组授予editinterface
权限。
使用$wgNamespaceProtection
来限制在某个名字空间的读取的是不可能的。
(参见 扩展:Lockdown )
Some, but not all methods of watching a page protected with this option may not work.
限制在主名字空间编辑
$wgNamespaceProtection[NS_MAIN] = ['edit-main'];
这限制了仅有edit-main权限的用户才可以编辑主名字空间。
设定一个名字空间并限制编辑
define('NS_OFFICIAL', 100);
define('NS_OFFICIAL_TALK', 101);
$wgExtraNamespaces = [
NS_OFFICIAL => 'Official',
NS_OFFICIAL_TALK => 'Official_talk'
];
$wgNamespaceProtection[NS_OFFICIAL] = ['official-edit'];
$wgNamespaceProtection[NS_OFFICIAL_TALK] = ['official-talk-edit'];
$wgGroupPermissions['managers']['official-edit'] = true; // 只有managers能够在Official名字空间编辑页面。
$wgGroupPermissions['employees']['official-talk-edit'] = true; // Employees能够在Official_talk名字空间中编辑。
$wgGroupPermissions['managers']['official-talk-edit'] = true; // Managers也可以编辑。
禁用讨论页
由于nobody
不是有效的MediaWiki核心权限,所以包括管理员在内,无人有权访问。
请注意,您仍然需要通过其他方法删除选项卡(请参阅:手册:常问问题#如何在整个Wiki中添加/删除选项卡? )
# 禁用所有内置的讨论页
$wgNamespaceProtection[NS_TALK] = ['nobody'];
$wgNamespaceProtection[NS_USER_TALK] = ['nobody'];
$wgNamespaceProtection[NS_PROJECT_TALK] = ['nobody'];
$wgNamespaceProtection[NS_FILE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['nobody'];
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_HELP_TALK] = ['nobody'];
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['nobody'];
另请参阅
- Category:Page specific user rights extensions — 更多的扩展来通过某种方式控制页面访问
- 扩展:Lockdown — 对每个名字空间的任意用户组设置任意权限。
- Extension:NSFileRepo — set permissions for images and files per namespace (custom local file repository namespace protection — based on 扩展:Lockdown )