Alternatywa dla User Role Editor: pięć pytań przed zmianą
Kto szuka alternatywy dla wtyczki do uprawnień, zwykle nie doświadczył błędu, lecz zauważył lukę: klient widzi pozycje menu, które go nie dotyczą. Chroniony wpis jednak gdzieś się pojawia. Albo nie da się już powiedzieć, kto kiedy jakie uprawnienie otrzymał. Pięć pytań to porządkuje.
Pytanie 1: czy reguła działa także bez panelu administracyjnego?
To najważniejsze pytanie i możesz na nie odpowiedzieć samodzielnie w minutę. Zabezpiecz wpis tak, żeby widziała go tylko określona rola. Wyloguj się. Otwórz /wp-json/wp/v2/posts?search= ze słowem z tego wpisu.
Jeśli treść jest w odpowiedzi, twoja reguła zmienia tylko widok. REST API WordPressa jest domyślnie dostępne i odpytuje inne miejsca w kodzie niż lista wpisów w panelu administracyjnym. Kakapo Roles wyraźnie egzekwuje tam regułę widoczności — właśnie dlatego ten test to najszybszy sposób na ocenę wtyczki do uprawnień.
Wykonaj ten test także z wtyczką, której właśnie używasz, zanim ją zmienisz. Czasem luka jest gdzie indziej — na przykład w kreatorze stron, który dostarcza treści przez własny punkt końcowy.
Pytanie 2: czy ktoś może sam nadać sobie więcej uprawnień?
Wtyczka do uprawnień, która pozwala każdemu z dostępem do interfejsu podnieść własną rolę, przekreśla swój cel. WordPress ma na to zabezpieczenie — get_editable_roles() — które określa, jakie role ktoś w ogóle może edytować. Pytanie do alternatywy: czy jest ono respektowane w każdym miejscu?
W sieci witryn dochodzi druga granica: role są tam częściowo wspólne dla całej sieci. Kto nadpisuje je z poziomu jednej z witryn, zmienia je dla wszystkich witryn w sieci — także tych, które do niego nie należą.
Pytanie 3: czy da się uporządkować panel administracyjny?
Uprawnienia mówią, co ktoś MOŻE. Dla klienta równie ważne jest to, co WIDZI. Redaktor, który ma przed sobą dwanaście pozycji menu, z których dziesięć jest zablokowanych, nie ma bezpiecznego, tylko nieprzejrzysty panel.
Dlatego sprawdź, czy alternatywa wykracza poza role i uprawnienia: menu administracyjne według roli, ograniczenie biblioteki mediów do własnych plików, widgety i menu nawigacji, dozwolone shortcode’y, przekierowanie po zalogowaniu. Kakapo Roles ma to wbudowane — w wielu wtyczkach tego rodzaju są to osobne rozszerzenia lub fragmenty kodu.
Pytanie 4: czy można sprawdzić, co zostało zmienione?
Uprawnienia zmienia się rzadko i zwykle pod presją czasu. Pół roku później pojawia się pytanie, dlaczego jakaś rola może coś robić. Bez dziennika odpowiedź jest domysłem.
Pytanie do alternatywy: czy jest dziennik zmian i czy widać w nim, KTO KIEDY JAKIE uprawnienie otrzymał lub stracił? Kakapo Roles prowadzi taki dziennik i zapisuje w nim także zmiany dokonywane przez przypisanie i migrację.
Pytanie 5: czy muszę budować to od nowa na każdej stronie?
Kto opiekuje się kilkoma instalacjami, buduje tę samą strukturę uprawnień wielokrotnie — i za każdym razem trochę od niej odchodzi. Po roku pięć stron to pięć przypadków szczególnych. Dlatego sprawdź, czy strukturę da się wyeksportować i wczytać i co przy wczytywaniu dzieje się z istniejącymi rolami: uzupełnić czy zastąpić?
Kakapo Roles potrafi jedno i drugie i przed wczytaniem informuje, która z dwóch dróg jest wybrana. „Zastąp” (po niemiecku: „Ersetzen“) to droga bardziej niebezpieczna — dlatego trzeba ją wyraźnie potwierdzić.
Lista kontrolna w skrócie
| Kryterium | Dlaczego to ważne | W Kakapo Roles |
|---|---|---|
| Działanie w REST API | Inaczej reguła chroni tylko widok | wyraźnie egzekwowane |
| Ochrona przed eskalacją uprawnień | Inaczej wtyczka sama się znosi | get_editable_roles respektowane, także w sieci witryn |
| Porządki w panelu | Klient ma widzieć to, co go dotyczy | menu administracyjne, biblioteka mediów, widgety, menu nawigacji, shortcode’y |
| Przekierowanie po zalogowaniu według roli | Klient trafia tam, gdzie pracuje | wbudowane |
| Kosz na role | Role rzadko usuwa się z zimną krwią | z przywracaniem |
| Dziennik zmian | Pół roku później liczy się dowód | kto, kiedy, jakie uprawnienie |
| Przenoszenie na kolejne strony | Inaczej każda strona staje się przypadkiem szczególnym | eksport i import, uzupełnianie lub zastępowanie |
| Wiele stron w ramach jednej licencji | Jedna faktura zamiast pięciu | dziewięć wtyczek, jedno logowanie |
Co zrobić przed zmianą
- Zapisz stan obecny — jakie są własne role i jakie uprawnienia są do nich przypisane.
- Utwórz kopię zapasową. Uprawnienia są zapisane w bazie danych, a jeden błąd dotyka wszystkich użytkowników jednocześnie.
- Odtwórz strukturę w nowej wtyczce i porównaj ją wiersz po wierszu.
- Zaloguj się jako użytkownik testowy każdej roli i sprawdź, co ten użytkownik naprawdę widzi.
- Wykonaj test REST z pytania 1.
- Wyłącz starą wtyczkę zamiast ją usuwać — na dwa tygodnie.
Dwie wtyczki do uprawnień działające jednocześnie zapisują do tych samych ról, a wygrywa ta, która zapisze ostatnia. W okresie przejściowym zmieniaj coś tylko w jednej z nich.
Najczęściej zadawane pytania
Czy przy zmianie stracę swoje role?
Czy mogę uruchomić obie równolegle?
Czy w ogóle tego potrzebuję, jeśli mam tylko dwóch redaktorów?
Czy ma to wpływ na czas ładowania?
Co się dzieje bez ważnej licencji?
Kakapo Roles — zapłać raz, korzystaj zawsze.
Wszystkie dziewięć wtyczek za 149 € jednorazowo zamiast 13 € miesięcznie. Bezpieczna płatność przez Stripe. Przez pierwsze 14 dni: problem rozwiązany albo zwrot pieniędzy.
Wybierz Lifetime Wszystkie funkcje