Kézikönyv:$wgNamespacProtection
Hozzáférés: $wgNamespaceProtection | |
---|---|
Ki és mely névtereket szerkeszthet? |
|
Bevezetve: | 1.10.0 (r19110) |
Eltávolítva: | használatban |
Megengedett értékek: | (tömbök tömbje) |
Alapértelmezett érték: | $wgNamespaceProtection = []; (1.14+)$wgNamespaceProtection[NS_MEDIAWIKI] = array( 'editinterface' ); (1.10 - 1.13) |
Egyéb beállítások: Betűrendben | Funkció szerint |
Részletek
A beállítással egyes névtereket csak bizonyos felhasználói csoportok szerkeszthetnek.
Alapértelmezésben az egyetlen ilyen korlátozás a MediaWiki-névtérben van, amelyet csak az 'editinterface '
jogosultsággal rendelkezők (alapértelmezésben az adminisztrátorok) módosíthatnak.
A tömbök kulcsai a névterek azonosítói, az értékek pedig a jogosultságnevek egyszerű tömbjei. Ha több mint egy jogosultságot rendelsz hozzá egy névtérhez, csak az összes, felsorolt joggal rendelkezők szerkeszthetik az abban lévő lapokat.
A MediaWiki 1.14 óta a korábbi verziókkal megegyezően a MediaWiki névteret feltétel nélkül csak az 'editinterface'
csoport tagjai módosíthatják.
Ez a Setup.php -ban rögzített beállítás, és a LocalSettings.php -ban sem módosítható, mivel a hibás beállítás a wiki biztonságát veszélyeztetné.
Ha szeretnéd, hogy az adminisztrátorokon kívül más is szerkeszthesse a MediaWiki névteret, akkor ezeknek a csoportoknak meg kell adnod az 'editinterface'
jogosultságot.
A $wgNamespaceProtection
használatával nem lehetséges az olvashatóság korlátozása.
(Lásd: Kiterjesztés:Lockdown )
Példa
A fő névtér szerkeszthetőségének korlátozása
$wgNamespaceProtection[NS_MAIN] = ['edit-main'];
A fenti kód hatására a fő névteret csak az „edit-main” jogosultsággal rendelkezők szerkeszthetik.
Egyedi névterek definiálása korlátozott írási joggal
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; // az Official névteret csak a „manager” csoportba tartozók módosíthatják
$wgGroupPermissions['employees']['official-talk-edit'] = true; // az „employees” csoport tagjai az Official_talk vitalapokra írhatnak
$wgGroupPermissions['managers']['official-talk-edit'] = true; // mint a „manager” joggal rendelkezők is
Vitalapok letiltása
Mivel „everyone
” jogosultság alapértelmezésben nem létezik, lényegében mindenki (az adminisztrátorok) is kizáródnak.
Vedd figyelembe, hogy a fület más módokon kell eltüntetned (lásd: Kézikönyv:GYIK#Hogyan adhatok hozzá/távolíthatok el lapokat a wikimben? ).
# Minden vitalap-névtér letiltása
$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'];
Lásd még
- Category:Page specific user rights extensions — további kiterjesztések a hozzáférések kezeléséhez
- Kiterjesztés:Lockdown — jogosultságok hozzárendelése egy csoporthoz névterenként
- Extension:NSFileRepo — képi- és fájljogosultságok beállítása névterenként (egyedi helyi fájltárhely-névtér védelme – alapja: Kiterjesztés:Lockdown )