Setting user rights in MediaWiki

From LemonWiki共筆
Jump to navigation Jump to search

Ψ 架設Wiki之前 --> MediaWiki安裝 --> 本地化設置 --> 介面修改 --> 功能擴充 --> 備份與管理 | 工具箱 Ψ

This is partial translation of Meta:Setting user rights in MediaWiki. You may click the link for the latest information. Please notice that the translated/derivated content is available under GNU Free Documentation License which the same with the original work.

準備[edit]

修改 LocalSetting.php[edit]

將以下設定插入 LocalSetting.php

MediaWiki v.1.15+


狀況A: 有登錄的使用者才能編輯頁面[edit]

$wgGroupPermissions['*']['edit'] = false;
#登錄的使用者才能編輯頁面,未登錄的訪客僅能觀看頁面內容

狀況B: 匿名訪客僅能讀取部分頁面(wgWhitelistRead設定值),有登錄的使用者能讀取與編輯多數頁面[edit]

 $wgWhitelistRead = array( "Main Page", "Special:Userlogin", "Special:Recentchanges", "Help:Contents", "MediaWiki:Monobook.css" );
 #設定匿名訪客僅能讀取的頁面名稱清單

 $wgGroupPermissions['*'    ]['createaccount']   = true;
 #設定匿名訪客能否註冊帳號,若要關閉註冊帳號,改為false

 $wgGroupPermissions['*'    ]['read']            = false;
 #設定匿名訪客能否讀取($wgWhitelistRead 白名單以外的)頁面

 $wgGroupPermissions['*'    ]['edit']            = false;
 #設定匿名訪客能否編輯頁面

狀況C: 屬於managers的使用者才能觀看與編輯特定文章[edit]

$wgGroupPermissions['*']['read']		= false; //設定未登入的匿名訪客,無法觀看任何頁面。

$wgGroupPermissions['user']['read']		= false; 
//設定登入的使用者,無法觀看任何頁面。除非是有在$wgWhitelistRead的頁面名稱清單內。

$wgWhitelistRead = array( "Main Page", "Special:Userlogin", "Special:UserLogout" );  
//設定登入的匿名訪客 和 登入的使用者,僅能讀取的頁面名稱清單。

$wgGroupPermissions['managers']['read']	        = true;  //設定managers群組的使用者,可以觀看(及編輯)所有頁面。

define("NS_OFFICIAL", 100);
define("NS_OFFICIAL_TALK", 101);
 
$wgExtraNamespaces = 
    array(100 => "Official",
          101 => "Official_talk",
    );
 
$wgNamespaceProtection[NS_OFFICIAL]      = array( 'official-edit' );
$wgNamespaceProtection[NS_OFFICIAL_TALK] = array( 'official-talk-edit' );
 
$wgGroupPermissions['managers']['official-edit'] = true; //設定登入的managers群組的使用者,可以編輯Official namespace的頁面 (例如NS_OFFICIAL:page_name)。
$wgGroupPermissions['managers']['official-talk-edit'] = true; ////設定登入的managers群組的使用者,可以編輯Official namespace的討論頁面(例如Talk:NS_OFFICIAL:page_name)。


參考資料:

  1. Manual:$wgNamespaceProtection - MediaWiki
  2. Restrict viewing of all pages


狀況D: 關閉帳號註冊[edit]

$wgGroupPermissions['*']['createaccount'] = false;

MediaWiki 1.4+[edit]

適用版本: MediaWIki 版本: 1.4 or older

準備[edit]

  • 支援Unicode的編輯器
  • 請記得文件格式編譯成UTF-8(無BOM)

修改 LocalSetting.php[edit]

將以下設定插入 LocalSetting.php

# 選擇誰可以編輯頁面: true 代表有登錄的使用者才能編輯頁面
$wgWhitelistEdit = true;

# 匿名的(也就是沒有登錄的)使用者可以看見的頁面
$wgWhitelistRead = array ("首頁", "特殊:Userlogin", "維基百科:幫助");

# 指定誰可以設立新的使用者帳號: 0 代表不可, 1 代表可以
$wgWhitelistAccount = array ( 'user' => 0, 'sysop' => 1, 'developer' => 1 );

$wgWhitelistRead 說明[edit]

英文版的MediaWiki

$wgWhitelistRead = array ("Main Page", "Special:Userlogin", "Wikipedia:Help");
  • "Main Page" 出現在左側導覽選單的位置,如果MediaWiki選中文安裝方式,預設中文翻譯是 首頁 ,本站共筆後來更改成"共筆首頁"
  • "Special:Userlogin" 出現在上方功能列的位置,預設中文翻譯是 特殊:Userlogin
  • "Wikipedia:Help" 出現在左側導覽選單的位置,如果MediaWiki選中文安裝方式,預設中文翻譯是 維基百科:幫助
    • 有些MediaWiki是 Help:Contents 或 幫助:Contents
    • 由於MediaWiki有次更新(from v1.3.11 to v1.4.8)時,本站該頁面內容消失,所以本站暫時將它redirect至Help頁面

中文預設值

$wgWhitelistRead = array ("首頁", "特殊:Userlogin", "維基百科:幫助");

所以如果要在本站啟用該選項,設定值應為

$wgWhitelistRead = array ("共筆首頁", "特殊:Userlogin", "維基百科:幫助", "Help");

相關資料[edit]