Manuel:$wgNamespaceProtection
| Accès: $wgNamespaceProtection | |
|---|---|
| Quels espaces de noms peuvent être édités et par qui ? |
|
| Introduit dans la version : | 1.10.0 (r19110) |
| Retiré dans la version : | Encore utilisé |
| Valeurs autorisées : | (tableau de chaînes) |
| Valeur par défaut : | $wgNamespaceProtection = []; (1.14+)$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13) |
| Autres paramètres : Alphabétique | Par fonction | |
Détails
Ce paramètre permet à un wiki de demander des permissions spéciales pour éditer certains espaces de noms.
Par défaut, la seule restriction est que l'espace de noms MediaWiki ne peut être édité que par des utilisateurs avec la permission editinterface (par défaut : les sysops).
Les clés de ce tableau sont les numéros des espaces de noms, et les valeurs sont de simples tableaux des noms de permission. Si vous listez plus d'une permission pour un espace de noms, un utilisateur devra les avoir toutes pour éditer les pages dans cet espace de noms.
Depuis la version 1.14, l'espace de noms MediaWiki: est protégé de façon inconditionnelle des utilisateurs avec le droit editinterface (comme dans les versions précédentes).
Cela est fixé dans Setup.php et ne peut pas être modifié dans LocalSettings.php car sinon, il serait trop facile de l'initialiser incorrectement et de laisser le wiki non sécurisé.
Si vous voulez permettre à d'autres groupes que les sysops de modifier l'espace de noms MediaWiki:, alors accordez-leur le droit editinterface.
Il n'est pas possible de restreindre l'accès en lecture à un espace de noms donné avec $wgNamespaceProtection.
(Voir Extension:Lockdown)
Some, but not all methods of watching a page protected with this option may not work.
Cascading protection may not be available to protected namespaces.
Exemple
Restreindre l'édition de l'espace de noms principal
$wgNamespaceProtection[NS_MAIN] = ['edit-main'];
Cela restreint l'édition dans l'espace de noms principal aux personnes dans un groupe qui a la permission edit-main.
Mettre en place des espaces de noms personnalisés avec accès en écriture restreint
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; // seuls les managers peuvent éditer les pages dans l'espace de noms Official
$wgGroupPermissions['employees']['official-talk-edit'] = true; // les employés peuvent éditer les pages dans l'espace de noms Official_talk
$wgGroupPermissions['managers']['official-talk-edit'] = true; // de même que les managers
Désactiver les pages de discussion
Parce que « nobody » n'est pas un droit d'accès valide du noyau MediaWiki, littéralement personne, même pas les sysops, n'aura l'accès.
Notez bien que vous devrez encore supprimer l'onglet avec d'autres méthodes (voir : Manuel:FAQ#Comment ajouter/supprimer des onglets dans mon wiki ?)
# Désactiver la modification dans tous les espaces de noms TALK du noyau en demandant les droits 'nobody' qui n'existent pas
$wgNamespaceProtection[NS_TALK] = ['nobody'];
$wgNamespaceProtection[NS_USER_TALK] = ['nobody'];
$wgNamespaceProtection[NS_PROJECT_TALK] = ['nobody'];
$wgNamespaceProtection[NS_FILE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_MEDIAWIKI_TALK] = ['nobody'];
$wgNamespaceProtection[NS_TEMPLATE_TALK] = ['nobody'];
$wgNamespaceProtection[NS_HELP_TALK] = ['nobody'];
$wgNamespaceProtection[NS_CATEGORY_TALK] = ['nobody'];
Voir aussi
- Catégorie:Page des droits utilisateur d'extensions spécifiques — davantage d'extensions pour contrôler l'accès aux pages d'une manière quelconque
- Extension:Lockdown — attribue toute permission à tout groupe par espace de noms
- Extension:NSFileRepo — fixe les permissions pour les images et les fichiers par espace de noms (protection de l'espace de noms du dépôt des fichiers locaux personnalisés — basé sur Extension:Lockdown)