如何设置单个Wiki页面的权限?

时间:2012-02-27 19:22:05

标签: mediawiki

我们维基上的页面很少,我希望能够防止该页面的指定所有者以外的人员进行编辑。

我们目前正在运行MediaWiki v1.15.4,暂时无法更新到1.18。

提前致谢。

编辑:只是为了澄清,需要为个人用户而不是群组设置权限。

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,我需要比默认系统更灵活。我通过这个脚本(嵌入在mediawiki扩展中)解决了这个问题:

// check each page for gossip permissions
$wgHooks['ArticlePageDataBefore'][] = 'GossipProtection_check_permissions';

/**
 * ArticlePageDataBefore hook
 * 
 * $article: article that is requested
 * ($fields: not important)
 */
function GossipProtection_check_permissions($article, $fields) {
    global $wgUser;
    $title = $article->getTitle()->mTextform;
    if(is_gossip_page($title))
        if(!this_user_is_allowed_on_page($title))
            die('You are not allowed on this page');
    return true;
}

但使用mediawiki的保护服务当然更优雅。例如,您可以为允许的用户创建一个组。