【问题标题】:Mediawiki - permissions so that anonymous can createpage, but only users can editMediawiki - 允许匿名者创建页面,但只有用户可以编辑
【发布时间】:2012-01-09 21:08:26
【问题描述】:

这个问题的第二部分很简单。这在 LocalSettings.php 中:

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = true;

规定只有用户可以编辑。

我的问题是,要设置 createpage 权限,用户或组还必须具有编辑权限。

我希望匿名用户能够提交(通过语义表单),但只有用户能够编辑它们。

任何帮助表示赞赏, 卡尔。

http://www.mediawiki.org/wiki/Manual:User_rights

【问题讨论】:

    标签: mediawiki


    【解决方案1】:

    我不确定 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;
    

    请注意,我根本没有测试上面的代码,但它很简单,如果运气好的话,它可能会正常工作。

    【讨论】:

      猜你喜欢
      • 2011-06-28
      • 1970-01-01
      • 2015-01-01
      • 2011-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-19
      相关资源
      最近更新 更多