Jump to content

Příručka:$wgRestrictedGroups

From mediawiki.org
This page is a translated version of the page Manual:$wgRestrictedGroups and the translation is 100% complete.
Uživatelská práva, řízení přístupu a monitorování: $wgRestrictedGroups
Podmínky požadované pro zařazení uživatele do konkrétních skupin
Zavedeno od verze:1.46.0 (Gerrit change 1200077; git #bd2f4bd0)
Odstraněno od verze:stále se používá
Povolené hodnoty:(pole)
Výchozí hodnota:[]

Podrobnosti

Toto pole obsahuje kritéria, která musí být splněna při přidání uživatele do určité skupiny. Syntaxe je:

$wgRestrictedGroups[$groupName] = [
    'memberConditions' => $condsArrayForMember,
    'updaterConditions' => $condsArrayForPerformer,
    'canBeIgnored' => $canBeIgnored,
    'demote' => $demote,
    'scope' => $scope,
];

Kde:

  • $groupName – název skupiny, pro kterou chcete specifikovat omezení, např. 'sysop'.
  • $condsArrayForMember – požadavky, které musí uživatel splňovat, aby mohl být přidán do zadané skupiny. Syntaxe pro zadávání podmínek je stejná jako pro $wgAutopromote .
  • $condsArrayForPerformer – požadavky, které musí provádějící uživatel splňovat, aby mohl být druhý uživatel přidán do zadané skupiny. Syntaxe pro zadávání podmínek je stejná jako pro $wgAutopromote .
  • Pokud $canBeIgnored je true, pak uživatelé s právem (ignore-restricted-groups) mohou obejít omezení nastavená pro tuto skupinu (jak pro interpreta, tak pro cíl), pokud nejsou splněny podmínky.
  • Pokud $demote je true, členové této skupiny, kteří nesplňují kritéria, budou při spuštění DemoteIneligibleUsers.php degradováni. Automatické snížení úrovně je podporováno pouze pro skupiny, kde je 'canBeIgnored' rovné false.
  • $scope – seznam oblastí, na které se omezení vztahuje. Vysvětlení viz níže. Pokud není nastaveno, omezení se vztahuje na všechny možné obory.

Není nutné specifikovat všechny tři položky pole. Pokud nejsou přítomny hodnoty 'memberConditions' nebo 'updaterConditions', předpokládá se, že se rovnají [], což je interpretováno jako podmínka, která je vždy true. Pokud není zadána hodnota 'canBeIgnored', předpokládá se, že požadavky jsou neignorovatelné (tj. hodnota (ignore-restricted-groups) nemá žádný vliv na přidání do této skupiny). Skupiny bez zadané hodnoty 'demote' nelze automaticky degradovat.

Pokud podmínky nejsou splněny, uvidí hráč vedle zaškrtávacího políčka skupiny na Special:UserRights zprávu od MediaWiki:Userrights-restricted-group-<název skupiny> (která se vrátí na MediaWiki:Userrights-restricted-group-warning, pokud není specifikována).

Neustálé vynucování

Všechny omezené skupiny mají při udělení ověřené podmínky. Skupinu lze uživateli přidělit pouze tehdy, jsou-li splněny podmínky, nebo pokud je prováděcímu pracovníkovi povoleno obejít kontrolu podmínek.

Pokud má skupina nastaveno 'canBeIgnored' na false, budou podmínky pro člena skupiny vyhodnoceny také při každém požadavku. Uživateli, který již nesplňuje podmínky, budou příslušné skupiny deaktivovány. Zakázané skupiny nedávají svým členům žádná práva, ale uživatel je stále na různých místech uživatelského rozhraní hlášen jako jejich člen.

Pro automatické snížení úrovně jsou podporovány pouze skupiny, které lze vynutit nepřetržitě.

Rozsahy

Aby bylo možné konfiguraci omezených skupin použít pro rozšíření, která definují vlastní sadu konstrukcí podobných skupinám (například CentralAuth ), byl zaveden koncept oborů platnosti. Jeden obor platnosti je určen pro jedno rozšíření nebo jeden druh skupinové funkce, která je implementována rozšířením.

Pokud existují dvě skupinové funkce pocházející z různých rozšíření (nebo jádra a rozšíření), zadání rozsahu v $wgRestrictedGroups může cílit konfiguraci pouze na vybrané rozsahy. Toto chování se na Wikimedii používá k rozlišení mezi lokálními a globálními skupinami, které mohou mít stejný interní název, ale nemají stejnou konfiguraci omezení.

Jádro MediaWiki definuje jeden rozsah pro skupiny uživatelů ('local'). Všechny skupiny podporované jádrem patří do tohoto rozsahu, bez ohledu na to, kde jsou definovány (ať už se jedná o výchozí hodnoty jádra, vlastní skupiny v nastavení nebo vlastní skupiny v rozšířeních).

Jediný další známý rozsah je definován metodou CentralAuth ('centralauth').

Příklad

Základní podmínky

Následující podmínky replikují podmínky použité na clusteru Wikimedie pro skupinu Temporary account IP viewers – účet musí být obvykle starší než 6 měsíců a mít 300 úprav, ale správci mohou tyto požadavky ignorovat:

$wgRestrictedGroups['temporary-account-viewer'] = [
    'memberConditions' => [
        '&',
        [ APCOND_EDITCOUNT, 300 ],
        [ APCOND_AGE, 86400 * 30 * 6 ],
    ],
    'canBeIgnored' => true,
];

Vyžadování 2FA pro skupinu uživatelů

Pokud chcete vynutit povinnost 2FA pro skupinu uživatelů, jako například Rozšíření:OATHAuth , která dříve fungovala s $wgOATHRequiredForGroups, změna kódu, kterou byste provedli, by byla:

$wgOATHRequiredForGroups[] = 'sysop';

stává se:

$wgRestrictedGroups['sysop'] = [
    'memberConditions' => [ 'oath.has_2fa' ],
];

Omezit pouze lokální skupinu

Pokud chcete, aby se podmínka vztahovala pouze na lokální skupinu Stevardi, můžete použít konfiguraci podobnou následující:

$wgRestrictedGroups['steward'] = [
    'memberConditions' => [ /* ... */ ],
    'scope' => [ 'local' ],
];

S touto konfigurací nebude žádný jiný typ skupiny s názvem 'steward' ovlivněn zadanými podmínkami.

Související odkazy