【问题标题】:MediaWiki 1.18.3/1.19.0 : Namespaces restrictionsMediaWiki 1.18.3/1.19.0:命名空间限制
【发布时间】:2012-05-10 13:56:05
【问题描述】:

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

【问题讨论】:

  • 你能解释一下你想要发生什么以及实际发生了什么吗?
  • 实际上,进入命名空间“Staff”的页面对每个人都是可见的,但只能由 Staff 组编辑。是否可以阻止简单用户访问员工页面?还是需要我扩展?
  • 我认为这应该迁移到ServerFault。

标签: permissions namespaces mediawiki


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    确实,$wgNamespaceProtection 允许防止编辑(并且仅编辑)自定义命名空间(请参阅documentation about $wgNamespaceProtection)。

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

    我会试试Lockdown

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-04
      • 2015-08-20
      • 2018-04-24
      相关资源
      最近更新 更多