【发布时间】:2012-04-13 22:54:23
【问题描述】:
我们的 wiki 上有几个页面我希望能够保护它们不被该页面指定所有者以外的人编辑。
我们目前正在运行 MediaWiki v1.15.4,暂时无法更新到 1.18。
提前致谢。
编辑:澄清一下,需要为个人用户而不是组设置权限。
【问题讨论】:
标签: mediawiki
我们的 wiki 上有几个页面我希望能够保护它们不被该页面指定所有者以外的人编辑。
我们目前正在运行 MediaWiki v1.15.4,暂时无法更新到 1.18。
提前致谢。
编辑:澄清一下,需要为个人用户而不是组设置权限。
【问题讨论】:
标签: mediawiki
我有一个类似的问题,我需要比默认系统提供的更大的灵活性。我通过这个脚本解决了这个问题(嵌入在 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 的保护服务当然更优雅。例如,您可以为允许的用户创建一个组。
【讨论】: