2014-03-06 31 views
0

我需要兩樣東西幫助:Mediawiki的文章許可,塊特殊頁

  1. 創建MediaWiki內與f.ex.文章財務數據,我想阻止除了一個用戶或稱爲「財務」的用戶組以外的所有用戶。有沒有辦法讓它變得簡單,也許在創建這篇文章的時候呢?

  2. 我想阻止所有特殊頁面給用戶,怎麼做?我阻止編輯,討論等,我需要阻止所有特殊頁面給用戶。

回答

3

第一:如果您確實需要設置每篇文章的權限,那麼您使用的是錯誤的工具。 Mediawiki旨在開放和高度協作,並且圍繞這將會A)需要黑客和B)永遠不會完全安全。 (見MediaWiki: Security issues with authorization extensions簡單:有是如何爲用戶訪問受限制的網頁內容)

現在,如果你仍然想嘗試和限制訪問某些網頁,有一個few extensions to choose from。在thoose Extension:Lockdown將允許您設置每名稱空間權限和特殊頁面限制。然後,您必須爲每個訪問設置創建一個名稱空間,並將您的財務數據置於一個受限制的名稱空間中,例如Restricted:Financial 您的LocalSettings.php會是這個樣子(只是一個例子!):

#add a new user group 
$wgGroupPermissions['trusted-user'] = $wgGroupPermissions['user']; 

#add namespace 
define('NS_RESTRICTED', 550); 
define('NS_RESTRICTED_TALK', 551); 
$wgExtraNamespaces[NS_RESTRICTED] = 'Restricted'; 
$wgExtraNamespaces[NS_RESTRICTED_TALK] = 'Restricted_talk'; 

#lockdown namespace 
$wgNamespacePermissionLockdown[NS_RESTRICTED]['read'] = array('trusted-user'); 
$wgNamespacePermissionLockdown[NS_RESTRICTED_TALK]['read'] = array('trusted-user'); 

#disallow inclusion 
$wgNonincludableNamespaces[] = NS_RESTRICTED; 
$wgNonincludableNamespaces[] = NS_RESTRICTED_TALK; 

請注意,我們添加了命名空間$wgNonincludableNamespaces,以防止用戶查看通過包括(內容通過簡單地寫一些{{Restricted:Financial}}頁)。

然後我們繼續鎖定所有特殊頁面:

$wgSpecialPageLockdown['Statistics'] = array('sysop'); 
$wgSpecialPageLockdown['Version'] = array('sysop'); 
$wgSpecialPageLockdown['Export'] = array('sysop'); 
... 

這將是一個長長的名單,它會一點從版本更改到MediaWiki的版本,作爲特殊的網頁來來去去。

*您開始走向這條道路之前,請https://www.mediawiki.org/wiki/Manual:Preventing_access#Restrict_viewing_of_certain_specific_pages閱讀警告,並再次想一想如果MediaWiki的真正合適的工具爲您的需求*

相關問題