MediaWiki 1.18.3 / 1.19.0:命名空间限制

时间:2012-05-10 13:56:06

标签: permissions namespaces mediawiki

我尝试在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;

2 个答案:

答案 0 :(得分:1)

尝试Extension:Lockdown,但请注意,MediaWiki在架构上不保证100%安全的部分读取限制。

答案 1 :(得分:1)

实际上,$ wgNamespaceProtection允许阻止编辑(并且仅编辑)自定义命名空间(参见documentation about $wgNamespaceProtection)。

为防止读取自定义命名空间,需要扩展名。

我会试试Lockdown