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: 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 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 d'éditer l'espace de noms MediaWiki:, alors accordez le droit 'editinterface'
à ces groupes.
Il n'est pas possible de restreindre l'accès en lecture à un espace de noms donné avec $wgNamespaceProtection
.
(Voir Extension:Lockdown )
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 « everyone
» (tous) n'est pas un droit d'accès au système, chacun littéralement se voit refusé l'accès (même les sysops).
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 tous les espaces de noms de discussion (TALK) du coeur
$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'];
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 de répertoire des fichiers locaux personnalisé - basé sur Extension:Lockdown )