Podręcznik:Uprawnienia użytkowników

This page is a translated version of the page Manual:User rights and the translation is 100% complete.
Outdated translations are marked like this.

Uprawnienia użytkownika to uprawnienia (takie jak możliwość edytowania stron lub blokowania użytkowników), które mogą być przypisane do różnych grup użytkowników. MediaWiki jest dostarczana z domyślnym zestawem praw użytkownika i grup użytkowników, ale można je dostosować. Na tej stronie wyjaśniono domyślne prawa i grupy oraz jak je dopasować.

Aby uzyskać informacje na temat dodania i usunięcia użytkowników wiki z grup, zobacz Pomoc: Prawa i grupy użytkownika i Podręcznik:Przydzielanie użytkownika do grup w MediaWiki .

Zmienianie uprawnień grup

Domyślna instalacja MediaWiki przypisuje pewne prawa do predefiniowanych grup domyślnych (patrz poniżej). Możesz zmienić domyślne prawa edytując tablicę $wgGroupPermissions w LocalSettings.php wg składni.

$wgGroupPermissions['group']['right'] = true /* lub fałszywe */;
W domyślnej instalacji $wgGroupPermissions będzie ustawione na includes/DefaultSettings.php, ale nie ma go w LocalSettings.php. Następnie trzeba będzie go dodać do tego pliku.

Jeśli członek ma wiele grup, otrzymuje wszystkie uprawnienia z każdej z grup, do których przynależy. Wszyscy użytkownicy, w tym użytkownicy anonimowi, należą do grupy '*'; wszyscy zarejestrowani użytkownicy należą do 'user' grupy. Oprócz domyślnych grup, można w sposób arbitralny tworzyć nowe grupy za pomocą tej samej tablicy.

Przykłady

W tym przykładzie zostanie wyłączone przeglądanie wszystkich stron nie wymienionych w $wgWhitelistRead , a następnie ponownie włączone tylko dla zarejestrowanych użytkowników:

$wgGroupPermissions['*']['read'] = false;
# Następująca linia nie jest konieczna, ponieważ jest w ustawieniach domyślnych. Ustawienie '*' na 'false' nie wyłącza praw dla grup, które mają prawo oddzielnie ustawione na 'true'!
$wgGroupPermissions['user']['read'] = true;
Ten przykład wyłączy edycję wszystkich stron, a następnie ponownie włączy dla użytkowników tylko z potwierdzonym adresem mailowym  confirmed email addresses:
# Wyłącz dla wszystkich.
$wgGroupPermissions['*']['edit'] = false;
# Wyłącz również dla grupy 'użytkownicy' (users): domyślnie "użytkownik" ma uprawnienie do edycji, nawet jeśli "*" nie ma.
$wgGroupPermissions['user']['edit'] = false;
# Spraw, aby użytkownicy z potwierdzonymi adresami e-mail byli w grupie.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Ukryj grupę z listy użytkowników.
$wgImplicitGroups[] = 'emailconfirmed';
# Wreszcie, ustaw na 'true' dla właściwej grupy.
$wgGroupPermissions['emailconfirmed']['edit'] = true;

Tworzenie nowej grupy i przypisanie do niej uprawnień

Możesz tworzyć nowe grupy użytkowników, definiując uprawnienia dla odpowiedniej nazwy grupy w $wgGroupPermissions[ ' nazwa-grupy' ] gdzie nazwa-grupy jest rzeczywistą nazwą grupy.

Oprócz przypisania uprawnień, należy utworzyć te trzy strony wiki z odpowiednią treścią:

  • MediaWiki:Group-<group-name> (content: Nazwa< grupy/code>)
  • MediaWiki:Group-<group-name>-member (content: Nazwa członka grupy)
  • MediaWiki:Grouppage-<group-name> (content: Nazwa strony grupy)

Domyślnie członkowie grupy Biurokraci mogą dodawać użytkowników do każdej grupy lub usunąć je z niej. Jeśli jednak używasz Podręcznik:$wgAddGroups i Podręcznik:$wgRemoveGroups , może być konieczne, abyś zamiast tego je dostosował.

Przykłady

W tym przykładzie zostanie utworzona arbitralna grupa "projektmember", która może blokować użytkowników i usunąć strony, a których edycje są ukryte domyślnie w dzienniku ostatnich zmian:

$wgGroupPermissions['projectmember']['bot'] = true;
$wgGroupPermissions['projectmember']['block'] = true;
$wgGroupPermissions['projectmember']['delete'] = true;

Nazwa grupy nie może zawierać spacji, więc użyj 'random-group' lub 'random_group' zamiast 'random group'. Ponadto zaleca się używanie tylko liter małych liter do tworzenia nazwy grupy.

W tym przykładzie, prawdopodobnie chciałbyś również stworzyć te strony:

  • MediaWiki:Group-projectmember (content: Członkowie projaktu)
  • MediaWiki:Group-projectmember-member (content: Członek projektu)
  • MediaWiki:Grouppage-projectmember (content: Członkowie projektu)

Zapewni to, że grupa będzie określana jako "Członkowie projektu" w całym interfejsie, a członek będzie określany jako "Członek projektu", a przeglądy połączą nazwę grupy zProject:Członkowie projektu.

Przykład ten domyślnie wyłącza dostęp do pisania (redagowania i tworzenia stron), tworzy grupę o nazwie "writer" i przyznaje jej dostęp do pisanie. Użytkownicy mogą być ręcznie dodani do tej grupy za pośrednictwem Special:UserRights:

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['createpage'] = false;
$wgGroupPermissions['writer']['edit'] = true;
$wgGroupPermissions['writer']['createpage'] = true;

W tym przykładzie, prawdopodobnie chciałbyś również stworzyć te strony:

  • MediaWiki:Group-writer (content: Writers)
  • MediaWiki:Group-writer-member (content: Writer)
  • MediaWiki:Grouppage-writer (content: Project:Write)

Usuwanie predefiniowanych grup

MediaWiki domyślnie jest dostarczana z szeregiem grup z predefiniowanych. Większość z tych grup można usunąć, usuwając odpowiednie klucze tablicy, między innymi $wgGroupPermissions[ '<group-name>' ]. Szczegóły: patrz poniżej.

Przykład

Ten przykład całkowicie eliminuje grupę 'biurokratów'. Należy upewnić się, że każda z tych sześciu zmiennych jest wyłączona dla każdej grupy, którą chcemy usunąć z listy w Special:ListGroupRights; jednakże wystarczy po prostu wyłączyć ustawienie $wgGroupPermissions, aby usunąć ją z Special:UserRights. Kod ten powinien być umieszczony po każdej linii require_once, która doda rozszerzenia, takie jak Extension:AntiSpoof , zawierający kod, który daje biurokratom domyślne uprawnienia do grupy.

unset( $wgGroupPermissions['bureaucrat'] );
unset( $wgRevokePermissions['bureaucrat'] );
unset( $wgAddGroups['bureaucrat'] );
unset( $wgRemoveGroups['bureaucrat'] );
unset( $wgGroupsAddToSelf['bureaucrat'] );
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );

W niektórych rozszerzeniach (Flow, Semantic MediaWiki itp.), prawa są dodane podczas rejestracji rozszerzenia lub w funkcji rejestracja. W tym przypadku może być konieczne użycie funkcji rejestracji w LocalSettings.php do usunięcia niektórych z góry zdefiniowanych grup użytkowników:

$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) {
    unset( $wgGroupPermissions['oversight'] );
    unset( $wgGroupPermissions['flow-bot'] );
};


Uwaga na temat grupy o nazwie "user" - "użytkownik"

Za pomocą powyższego mechanizmu możesz usunąć grupy sysop, biurokrata i bot, które - jeśli są używane - mogą być przypisane za pomocą zwykłego user permission system. Jednak obecnie nie można usunąć grupy user. Ta grupa nie jest przypisana przez zwykły system uprawnień. Zamiast tego każdy zalogowany użytkownik automatycznie jest członkiem tej grupy. Jest to zakodowane na stałe w MediaWiki i obecnie nie można go łatwo zmienić.

Lista uprawnień

W najnowszej wersji MediaWiki dostępne są następujące uprawnienia użytkownika. Jeśli używasz starszej wersji, sprawdź Special:Version na swoim wiki i sprawdź, czy twoja wersja jest objęta kolumną "Wersje".

Uprawnienie Opis Grupy użytkowników, które mają to prawo przyznane domyślnie Wersje
Czytanie
read Czytanie treści stron - w przypadku ustawienia na false , nadpisanie dla określonych stron z $WhiteListRead
  Uwaga: Setting the user right read (allow viewing pages) to false will only protect wiki (article, talk, ...) pages, but uploaded files (images, files, docs... in the $wgUploadPath subdirectories) will always remain readable via direct access by default.
Use the information from Manual:Image authorization and img_auth.php pages when you have the need to restrict image views and file download access to only logged-in users.
*, user 1.5+
Edytowanie
applychangetags Wprowadzanie znaczników wraz z własnymi zmianami - wymagane uprawnienie edit user 1.25+
autocreateaccount Automatyczne logowanie za pomocą zewnętrznego konta użytkownika - bardziej ograniczona wersja createaccount 1.27+
createaccount Tworzenie nowych kont użytkowników - register / registration *, sysop 1.5+
createpage Tworzenie stron (niebędących stronami dyskusji) - wymagane uprawnienie edit *, user 1.6+
createtalk Tworzenie stron dyskusji - wymagane uprawnienie edit *, user 1.6+
delete-redirect Usuwanie przekierowań bez historii zmian (zwróć uwagę, że nie jest to konieczne, jeśli grupa ma już prawo do delete) 1.36+
edit Edycja stron *, user 1.5+
editsemiprotected Edycja stron zabezpieczonych na poziomie „Allow only autoconfirmed users” - bez ochrony w kaskadzie - requires the edit right autoconfirmed, bot, sysop 1.22+
editprotected Edycja stron zabezpieczonych na poziomie „Allow only administrators” - bez ochrony w kaskadzie - requires the edit right sysop 1.13+
minoredit Oznaczanie edycji jako drobnych - wymagane uprawnienie edit user 1.6+
move Przenoszenie stron - wymagane uprawnienie edit user, sysop 1.5+
move-categorypages Przenoszenie stron kategorii - wymagane uprawnienie move user, sysop 1.25+
move-rootuserpages Przenoszenie głównych stron użytkowników - wymagane uprawnienie move user, sysop 1.14+
move-subpages Przenoszenie stron razem z ich podstronami - wymagane uprawnienie move user, sysop 1.13+
movefile Przenoszenie plików - wymaga uprawnienia move oraz $wgAllowImageMoving ustawione na true user, sysop 1.14+
reupload Nadpisywanie istniejącego pliku - wymagane uprawnienie upload user, sysop 1.6+
reupload-own Nadpisywanie wcześniej przesłanego pliku - wymaga prawa upload (uwaga: nie jest to konieczne, jeśli grupa ma już prawo reupload) 1.11+
reupload-shared Lokalne nadpisywanie pliku istniejącego w repozytorium mediów - (jeśli jest to ustawione) z lokalnymi plikami wymagane uprawnienie upload user, sysop 1.6+
sendemail Wysyłanie e‐maili do innych użytkowników user 1.16+
upload Przesyłanie plików na serwer - wymaga uprawnienia edit oraz $wgEnableUploads ustawionego na true user, sysop 1.5+
upload_by_url Przesyłanie plików z adresu URL - wymagane uprawnienie upload (Przed 1.20 przypisane do do grupy sysops) 1.8+
Zarządzanie
bigdelete Usuwanie stron z długą historią edycji (określone przez $wgDeleteRevisionsLimit ) - wymagane uprawnienie delete sysop 1.12+
block Blokowanie i odblokowywanie użytkownikom możliwości edycji - Opcje blokowania obejmują uniemożliwianie edytowania i rejestrowania nowych kont oraz automatyczne blokowanie innych użytkowników pod tym samym adresem IP sysop 1.5+
blockemail Blokowanie lub odblokowywanie użytkownikom możliwości wysyłania wiadomości - pozwala na uniemożliwienie korzystania z interfejsu Special:Emailuser podczas blokowania - wymaga prawa block' sysop 1.11+
browsearchive Przeszukiwanie usuniętych stron - przez Special:Undelete - wymagane uprawnienie deletedhistory sysop 1.13+
changetags Dodawanie i usuwanie dowolnych znaczników z poszczególnych wersji i wpisów w rejestrze - obecnie nieużywane przez rozszerzenia user 1.25+
delete Usuwanie stron 1.5–1.11: pozwala na usuwanie lub przywracanie stron.
1.12+: pozwala na usuwanie stron. W przypadku przywracania, teraz jest prawo 'undelete', patrz poniżej
sysop 1.5+
deletedhistory Podgląd usuniętych wersji bez przypisanego im tekstu sysop 1.6+
deletedtext Podgląd usuniętego tekstu i zmian pomiędzy usuniętymi wersjami sysop
deletelogentry Usuwanie i przywracanie wpisów rejestru - pozwala na usunięcie/przywrócenie informacji (tekstu akcji, podsumowania, użytkownika, który wykonał akcję) określonych wpisów w dzienniku - wymaga prawa deleterevision suppress 1.20+
deleterevision Usuwanie i odtwarzanie określonej wersji strony - umożliwia usunięcie/wymazanie informacji (tekstu rewizji, podsumowania edycji, użytkownika, który dokonał edycji) dotyczących określonych rewizji Rozdzielone na prawa deleterevision and deletelogentry w wersji 1.20 suppress 1.6+
editcontentmodel Edycja modelu zawartości strony - wymagane uprawnienie edit user 1.23.7+
editinterface Edycja interfejsu użytkownika - zawiera interface messages. W celu edycji w całej witrynie CSS/JSON/JS istnieją już teraz osobne prawa, patrz poniżej. - wymagane uprawnienie edit sysop, interface-admin 1.5+
editmyoptions Edycja swoich preferencji * 1.22+
editmyprivateinfo Edycja swoich prywatnych danych (np. adres e-mail, prawdziwe imię i nazwisko) i wysyłanie wiadomości e-mail resetujących hasło - ukrywa również "Zmień hasło", ale nie inne sposoby zmiany hasła - wymagane uprawnienie viewmyprivateinfo * 1.22+
editmyusercss Edycja własnych plików CSS - przed wersją 1.31 zostało przypisane grupie 'wszyscy' (tj. "*") (zauważ, że nie jest to konieczne, jeśli grupa ma już prawo editusercss) - wymagane uprawnienie edit user 1.22+
editmyuserjs Edycja własnych plików JavaScript - przed 1.31 został przydzielony wszystkim (tj. "*") (obiecaj, że nie jest to konieczne, jeśli grupa ma już prawo edituserjs) - wymagane uprawnienie edit user 1.22+
editmyuserjsredirect Edycja własnych plików JavaScript będących przekierowaniami (zwróć uwagę, że nie jest to konieczne, jeśli grupa posiada już prawo edituserjs) - wymagane uprawnienie edit 1.34+
editmyuserjson Edycja własnych plików JSON (należy pamiętać, że nie jest to konieczne, jeśli grupa ma już prawo edituserjson). - wymagane uprawnienie edit user 1.31+
editmywatchlist Edycja swojej listy obserwowanych stron (niektóre akcje mogą dodawać strony do obserwowanych bez tego uprawnienia) - wymaga prawa viewmywatchlist * 1.22+
editsitecss Edycja plików CSS projektu - wymagane uprawnienie editinterface interface-admin 1.32+
editsitejs Edycja plików JavaScript projektu - wymagane uprawnienie editinterface interface-admin 1.32+
editsitejson Edycja plików JSON projektu - wymagane uprawnienie editinterface sysop, interface-admin 1.32+
editusercss Edycja plików CSS innych użytkowników - wymagane uprawnienie edit interface-admin 1.16+
edituserjs Edycja plików JavaScript innych użytkowników - wymagane uprawnienie edit interface-admin 1.16+
edituserjson Edycja plików JSON innych użytkowników - wymagane uprawnienie edit sysop, interface-admin 1.31+
hideuser Blokowanie i odblokowywanie użytkownika i ukrywanie lub pokazywanie tego faktu w widoku publicznym - Wypłaty można wyłączyć tylko użytkowników z 1000 edycjami lub mniej - wymagane uprawnienie block

Użyj $wgHideUserContribLimit , aby wyłączyć.

suppress 1.10+
markbotedits Oznaczanie rewertu jako edycji bota - zobacz Manual:Rollback - wymagane uprawnienie rollback sysop 1.12+
mergehistory Łączenie historii edycji stron - wymagane uprawnienie edit sysop 1.12+
pagelang Zmiana języka strony - $wgPageLanguageUseDB musi być prawdziwe 1.24+
patrol Oznaczanie edycji jako „sprawdzone” - $wgUseRCPatrol musi być prawdziwe sysop 1.5+
patrolmarks Podgląd znaczników patrolowania ostatnich zmian – oznaczania jako „sprawdzone” 1.16+
protect Zmiana ustawień zabezpieczeń i edycja stron zabezpieczonych kaskadowo - wymagane uprawnienie edit sysop 1.5+
rollback Szybkie wycofywanie zmian wprowadzonych przez użytkownika, który jako ostatni edytował stronę - wymagane uprawnienie edit sysop 1.5+
suppressionlog Podgląd rejestrów prywatnych suppress 1.6+
suppressrevision Podgląd, ukrywanie i odkrywanie wersji ukrytych przed wszystkimi - Przed 1.13 to prawo nazywało się hiderevision - wymagane uprawnienie deleterevision suppress 1.6+
unblockself Odblokowanie samego siebie - Bez niego administrator, który ma możliwość blokowania, nie może się odblokować, jeśli został zablokowany przez innego administratora sysop 1.17+
undelete Odtwarzanie usuniętych stron - wymagane uprawnienie deletedhistory sysop 1.12+
userrights Edycja uprawnień użytkowników - umożliwia przypisanie lub usunięcie wszystkich grup (*) do każdego użytkownika.

(*) Z $wgAddGroups i $wgRemoveGroups można ustawić możliwość dodawania/usunięcia niektórych grup zamiast wszystkich

bureaucrat 1.5+
userrights-interwiki Edycja uprawnień użytkowników na innych witrynach wiki - requires the userrights right 1.12+
viewmyprivateinfo Podgląd swoich prywatnych danych (np. adres e-mail, prawdziwe imię i nazwisko) * 1.22+
viewmywatchlist Podgląd swojej listy obserwowanych stron * 1.22+
viewsuppressed Podgląd wersji ukrytych przed każdym użytkownikiem - tj. wąskiej alternatywy dla "suppressrevision" (zwróć uwagę, że nie jest to konieczne, jeśli grupa ma już prawo $suppressrevition) suppress 1.24+
Administrowanie
autopatrol Automatyczne oznaczanie własnych edycji jako „sprawdzone” - $wgUseRCPatrol musi być prawdziwe bot, sysop 1.9+
deletechangetags Usuwanie znaczników z bazy danych - obecnie nieużywane przez rozszerzenia sysop 1.28+
import Importowanie stron z innych wiki - "transwiki [jak na drodze] - wymagane uprawnienie edit sysop 1.5+
importupload Importowanie stron poprzez przesłanie pliku - Prawo to zostało nazwane 'importraw' w wersji 1.5 i przed nią. - wymagane uprawnienie edit sysop 1.5+
managechangetags Tworzenie i (dez)aktywowanie znaczników - obecnie nieużywane przez rozszerzenia sysop 1.25+
siteadmin Blokowanie i odblokowywanie bazy danych - który blokuje wszelkie interakcje z witryną, z wyjątkiem przeglądania. (nie jest dostępna domyślnie) 1.5+
unwatchedpages Podgląd listy stron nieobserwowanych - wykazuje strony, które żaden użytkownik nie wykazał na liście obserwacyjnej sysop 1.6+
Techniczne
apihighlimits Zwiększony limit w zapytaniach wykonywanych poprzez interfejs API bot, sysop 1.12+
autoconfirmed Wyłączenie z ograniczeń przepustowości nałożonych na IP - stosowane w grupie 'autoconfirmed', więcej informacji można uzyskać w poniższej tabeli (note that this is not needed if the group already has the noratelimit right) autoconfirmed, bot, sysop 1.6+
bot Oznaczanie edycji jako wykonanych automatycznie - opcjonalnie można je oglądać bot 1.5+
ipblock-exempt Obejście blokad adresów IP, automatycznych blokad i blokad zakresów adresów IP sysop 1.9+
nominornewtalk Drobne zmiany na stronach dyskusji użytkowników nie włączają powiadomienia o nowej wiadomości - wymagane uprawnienie minoredit bot 1.9+
noratelimit Brak ograniczeń przepustowości - nie ma wpływu na limity szybkości (Przed wprowadzeniem tego prawa, zmienna konfiguracyjna $wgRateLimitsExcludedGroups była używana do tego celu) sysop, bureaucrat 1.13+
override-export-depth Eksport stron wraz z linkowanymi do głębokości 5 linków
Z tej prawej strony można określić głębokość powiązanych stron w Special:Export. W przeciwnym razie użyje się wartości $wgExportMaxLinkDepth , która jest domyślnie 0 .
?
suppressredirect Przenoszenie stron bez tworzenia przekierowania w miejscu starej nazwy - wymagane uprawnienie move bot, sysop 1.12+

Chociaż wszystkie te uprawnienia kontrolują oddzielne rzeczy, czasami do wykonania określonych działań potrzeba wielu uprawnień. Na przykład pozwalając ludziom edytować, ale nie czytać stron nie ma sensu, ponieważ w celu edytowania strony musisz najpierw być w stanie je przeczytać (założąc, że nie są one dopuszczone). Pozwolenie na przesyłanie, ale nie edycję nie ma sensu, ponieważ aby przesłać obraz, musisz w sposób automatyczny utworzyć stronę opisu obrazu itp.


Lista grup

W najnowszej wersji MediaWiki dostępne są następujące uprawnienia użytkownika. Jeśli używasz starszej wersji, niektóre z nich mogą nie być zaimplantowane.

Grupa Opis Prawa domyślne Wersje
* wszystkich użytkowników (w tym anonimowych). createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi 1.5+
temp Temporary user accounts (T330816) Similar to * group 1.41+
user konta zarejestrowane. applychangetags, changetags, createpage, createtalk, edit, editcontentmodel, editmyusercss, editmyuserjs, editmyuserjson, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, purge, read, reupload, reupload-shared, sendemail, upload, writeapi
autoconfirmed zarejestrowane konta trwają przez minimalny okres ustawiony w $wgAutoConfirmAge i które mają co najmniej tyle edycji, ile $OutoConfirmsCount. autoconfirmed, editsemiprotected 1.6+
bot konta z uprawnieniem bot (przeznaczone dla skryptów automatycznych). autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi 1.5+
sysop Użytkownicy, którzy domyślnie mogą usunąć i przywrócić strony, zablokować i odblokować użytkowników itp. apihighlimits, autoconfirmed, autopatrol, bigdelete, block, blockemail, browsearchive, createaccount, delete, deletedhistory, deletedtext, editinterface, editprotected, editsemiprotected, editsitejson, edituserjson, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, move, move-categorypages, move-rootuserpages, move-subpages, movefile, noratelimit, patrol, protect, reupload, reupload-shared, rollback, suppressredirect, unblockself, undelete, unwatchedpages, upload 1.5+
interface-admin Użytkownicy, którzy mogą edytować CSS/JS w całej witrynie. editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson 1.32+
bureaucrat użytkownicy, którzy domyślnie mogą zmienić prawa innych użytkowników. noratelimit, userrights 1.5+
suppress deletelogentry, deleterevision, hideuser, suppressionlog, suppressrevision, viewsuppressed

W MW 1.12, można utworzyć własne grupy, do których użytkownicy są automatycznie promowani (jak w przypadku automatycznego potwierdzenia i e-mail) za pomocą $wgAutopromote . Możesz nawet stworzyć dowolną grupę, przypisując im prawa.

Domyślne prawa

Domyślne prawa są zdefiniowane w MainConfigSchema.php .

Dodawanie nowych uprawnień

Informacje tylko dla koderów są tylko następujące.

Jeżeli dodajesz nowe uprawnienie w jądrze, np. control a new special page, jesteś zobowiązany dodać je do listy dostępnych prawa w PermissionManager.php , $coreRights (example). Jeżeli zaś robisz to w rozszerzeniu , powinieneś zamiast tego użyć $wgAvailableRights .

Prawdopodobnie chcesz również przypisać je niektórym grupom użytkowników poprzez edycję $wgGroupPermissions opisanych powyżej.

Jeśli chcesz, aby to prawo było dostępne dla zewnętrznych aplikacji za pomocą OAuth lub haseł botów, musisz dodać je do grantu, edytując $wgGrantPermissions .

// create projectmember-powers right
$wgAvailableRights[] = 'projectmember-powers';

// dołączenie uprawnień członka projektu do grupy członka projektu
$wgGroupPermissions['projectmember']['projectmember-powers'] = true;

// Dodać uprawnienia członka projektu do 'podstawowej' dotacji, abyśmy mogli wykorzystać uprawnienia członkowski projektu w odniesieniu do wniosku API
$wgGrantPermissions['basic']['projectmember-powers'] = true;

Musisz także dodać komunikaty interfejsu right-[name] i action-[name] do /languages/i18n/en.json (z dokumentacją w qqq.json). Komunikaty right-* można zobaczyć na Special:ListGroupRights a wiadomości action-* używane są w zdaniach takich jak "Nie masz zezwolenia na ...".


Zobacz też