Manual:$wgNamespaceProtection
Access: $wgNamespaceProtection | |
---|---|
Quali namespace possono essere editati e da chi? |
|
Introdotto nella versione: | 1.10.0 (r19110) |
Rimosso nella versione: | Still in use |
Valori concessi: | (array di array) |
Valore predefinito: | $wgNamespaceProtection = []; (1.14+)$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13) |
Impostazioni: Alfabetiche | Per funzione |
Dettagli
Questa impostazione permette a un wiki di richiedere permessi specifici per editare in alcuni namespace.
Per impostazione predefinita, la sola restrizione è che il namespace MediaWiki può essere editato solo da utenti con il permesso 'editinterface '
(predefinito: i sysop).
Le chiavi dell'array sono i numeri dei namespace, mentre i valori sono dei semplici array di nomi di permessi. Se elenchi più di un permesso per un dato namespace, un utente li deve possedere tutti per poter editare pagine di quel namespace.
A partire dalla versione 1.14, il namespace MediaWiki: è incondizionatamente riservato a utenti con i diritti di 'editinterface'
(medesimo delle versioni precedenti).
Ciò è definito in Setup.php e non può essere modificato in LocalSettings.php altrimenti sarebbe troppo facile impostarlo in modo non corretto e lasciare il wiki insicuro.
Se vuoi consentire a utenti di altri gruppi, oltre ai sysop, di editare il namespace MediaWiki:, allora assegna il diritto 'editinterface'
a quei gruppi utente.
Non si può limitare l'accesso in lettura ad un certo namespace con $wgNamespaceProtection
.
(Vedi Extension:Lockdown )
Esempio
Limitare l'editing nel namespace principale
$wgNamespaceProtection[NS_MAIN] = ['edit-main'];
Questo limita l'editing nel namespace principale solo a utenti di un gruppo che ha il permesso 'edit-main'.
Impostare namespace personalizzati con diritti di scrittura limitati
define('NS_OFFICIAL', 100);
define('NS_OFFICIAL_TALK', 101);
$wgExtraNamespaces = [
NS_OFFICIAL => 'Official',
NS_OFFICIAL_TALK => 'Official_talk'
];
$wgNamespaceProtection[NS_OFFICIAL] = ['official-edit'];
$wgNamespaceProtection[NS_OFFICIAL_TALK] = ['official-talk-edit'];
$wgGroupPermissions['managers']['official-edit'] = true; // solo i manager possono editare pagine nel namespace Official
$wgGroupPermissions['employees']['official-talk-edit'] = true; // gli impiegati (employee) possono editare pagine nel namespace Official_talk (pagine di discussione del namespace Official)
$wgGroupPermissions['managers']['official-talk-edit'] = true; // e anche i manager possono farlo
Disattivare le pagine di discussione
Non essendo "everyone
" un permesso definito, letteralmente chiunque (everyone) si trova vietato l'accesso (compresi i sysop).
Nota che comunque devi sempre ribuovere la tab con altri metodi (vedi: Manual:FAQ#How do I add/remove tabs throughout my wiki? )
# Disattiva tutti i TALK predefiniti
$wgNamespaceProtection[NS_TALK] = ['everyone'];
$wgNamespaceProtection[NS_USER_TALK] = ['everyone'];
$wgNamespaceProtection[NS_PROJECT_TALK] = ['everyone'];
$wgNamespaceProtection[NS_FILE_TALK] = ['everyone'];
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['everyone'];
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['everyone'];
$wgNamespaceProtection[NS_HELP_TALK] = ['everyone'];
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['everyone'];
Vedi anche
- Category:Page specific user rights extensions — più estensioni per controllare l'accesso alle pagine in qualche modo
- Extension:Lockdown — stabilire ciascun permesso per qualsiasi gruppo per namespace
- Extension:NSFileRepo — stabilire i permessi per immagini e file per namespace (protezione personalizzata del namespace che funge da repository locale dei file - dipende da Extension:Lockdown )