Podręcznik:$wgNamespaceProtection
Dostęp: $wgNamespaceProtection | |
---|---|
Ustala kto może edytować strony w danej przestrzeni nazw |
|
Wprowadzono w wersji: | 1.10.0 (r19110) |
Usunięto w wersji: | nadal w użyciu |
Dozwolone wartości: | (tablica z tablicami) |
Domyślna wartość: | $wgNamespaceProtection = []; (1.14+)$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13) |
Inne ustawienia: Alfabetycznie | Według funkcji |
Szczegóły
Ustala kto może edytować strony w danej przestrzeni nazw.
Domyślnie restrykcja jest ustawiona dla przestrzeni nazw MediaWiki, którą mogą edytować tylko użytkownicy z uprawnieniem 'editinterface '
(domyślnie: administratorzy).
Jako klucz tablicy należy podać identyfikator przestrzeni nazw, jako wartość-tablica z nazwami uprawnień. Jeżeli więcej niż jedną nazwę uprawnienia, będzie wymagane posiadanie każdego z nich.
Od wersji 1.14, przestrzeń nazw MediaWiki: jest bezwarunkowo zabezpieczona i tylko użytkownicy z uprawnieniem 'editinterface'
mogą je edytować.
Jest to ustawione w Setup.php i nie może być zmieniane w LocalSettings.php ponieważ jest to łatwe do ustawienia nieprawidłowo, co może zdestabilizować bezpieczeństwo wiki.
Jeżeli chcesz pozwolić użytkownikom na edycję interfejsu, przypisz im uprawnienie 'editinterface'
.
Nie da się ograniczyć poprzez $wgNamespaceProtection
dostępu do czytania treści w określonej przestrzeni nazw.
(Zobacz Extension:Lockdown )
Przykłady
Ograniczenie edycji głównej przestrzeni nazw
$wgNamespaceProtection[NS_MAIN] = ['edit-main'];
Spowoduje to zablokowanie możliwość edycji stron z głównej przestrzeni nazw osobom nie posiadającym uprawnienia edit-main.
Ustawianie własnych przestrzeni nazw z ograniczeniem zapisu
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; // tylko menadżerowie mogą edytować strony w przestrzeni nazw Official
$wgGroupPermissions['employees']['official-talk-edit'] = true; // pracownicy mogą edytować strony w przestrzeni nazw Official_talk
$wgGroupPermissions['managers']['official-talk-edit'] = true; // więc menadżerowie też mogą
Blokowanie stron dyskusji
Dopóki "everyone
" nie jest uprawieniem z rdzenia, dosłownie każdy ma zabroniony dostęp (włącznie z administratorami).
Zwróć uwagę, że nadal będzie trzeba usunąć zakładkę Edytuj innymi sposobami (zobacz: Podręcznik:FAQ#Jak mogę dodawać/usuwać karty na mojej wiki? )
# Zablokuj wszystkie przestrzenie nazw dyskusji z rdzenia
$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'];
Zobacz też
- Category:Page specific user rights extensions — Rozszerzenia dotyczące dostępu do stron
- Extension:Lockdown — Rozszerzenie umożliwiające nadawanie praw grupom dla poszczególnych przestrzeni nazw
- Extension:NSFileRepo — Ustawianie uprawnień dla grafik i plików poprzez przestrzenie nazw (bazuje na Extension:Lockdown )