我尝试在MediaWiki上创建一些权限。我遵循了这个tutorial,但它没有用......
我尝试创建一个Staff组,该组具有在Staff名称空间中读取,编辑,创建和删除页面的权限。 经典用户不应该看到此命名空间中的所有页面。
这是LocalSettings.php文件:
# Namespaces
define('NS_STAFF', 103);
$wgExtraNamespaces[NS_STAFF] = 'Staff';
# Groups
define('G_STAFF', 'Staff');
# Default Group Rights
# Anonyms
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['create'] = false;
# User
$wgGroupPermissions['user']['read'] = true;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['create'] = false;
# Staff
$wgGroupPermissions[G_STAFF]['read'] = true;
$wgGroupPermissions[G_STAFF]['edit'] = true;
$wgGroupPermissions[G_STAFF]['create'] = true;
# Groups Rights
$wgNamespaceProtection[NS_STAFF] = array(G_STAFF);
可以解释一下我做错了吗?
更新
我将Mediawiki升级到1.19.0版。 进入命名空间“Staff”的页面对于用户组仍然可见,但不可编辑。
如何阻止对特定命名空间的页面访问?
这是LocalSettings.php文件:
#Groups
define('G_PROGRAMMER', 'Programmer');
define('G_ADMIN_SYSTEM', 'AdminSystem');
define('G_DESIGNER', 'Designer');
define('G_STAFF', 'Staff');
# Default Group Rights
# Anonyms
$wgGroupPermissions['*']['read'] = true;
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['create'] = false;
# User
$wgGroupPermissions['user']['read'] = true;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['create'] = false;
# Staff
$wgGroupPermissions[G_STAFF]['read'] = true;
$wgGroupPermissions[G_STAFF]['edit'] = true;
$wgGroupPermissions[G_STAFF]['create'] = true;
# Groups Rights
$wgNamespaceProtection[NS_STAFF] = array('staff-edit');
$wgGroupPermissions[G_STAFF]['staff-edit'] = true;
答案 0 :(得分:1)
尝试Extension:Lockdown,但请注意,MediaWiki在架构上不保证100%安全的部分读取限制。
答案 1 :(得分:1)
实际上,$ wgNamespaceProtection允许阻止编辑(并且仅编辑)自定义命名空间(参见documentation about $wgNamespaceProtection)。
为防止读取自定义命名空间,需要扩展名。
我会试试Lockdown。