这个问题的第二部分很简单。这在LocalSettings.php中:
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = true;
规定只有用户才能编辑。
我的问题是,要设置createpage权限,用户或组还必须具有编辑权限。
我希望匿名用户能够提交(通过语义表单),但只有用户能够编辑它们。
任何帮助表示赞赏, 卡尔。
答案 0 :(得分:0)
我不确定MediaWiki中当前的权限系统是否可行。根据设计,没有edit
权限的用户可以做的很少;该权限控制以任何方式修改Wiki内容的权限。我猜您可以提交单独的editexisting
权限的功能请求,以明确禁止编辑现有页面。
实际上,我想你可以使用userCan
hook自己实现这样的权限,如下所示:
function checkEditExisting( &$title, &$user, $action, &$result ) {
if ( $action != 'edit' ) return true;
if ( !$title->exists() ) return true;
if ( $user->isAllowed('editexisting') ) return true;
return $result = false; // page exists, no permission -> disallow edit
}
$wgHooks['userCan'][] = 'checkEditExisting';
$wgGroupPermissions['*']['editexisting'] = false;
$wgGroupPermissions['user']['editexisting'] = true;
请注意,我根本没有测试过上面的代码,但它很简单,运气好的话,它可能会起作用。