User Switching
A User Switching egy ingyenes WordPress-bővítmény, amellyel egy kattintással átválthatsz egy másik felhasználó fiókjára, így kijelentkezés és jelszó nélkül teszteled a szerepköröket és a jogosultságokat.
A User Switching ingyenes, nyílt forráskódú bővítmény. Egy kattintással bejelentkeztet egy másik felhasználó nevében, és ugyanígy vissza is visszavált a saját fiókodra. Fejlesztéskor erre két tipikus helyzetben van szükség: megnézed, mit lát egy WooCommerce-vásárló, és kipróbálod, mit szerkeszthet egy szerkesztő. Jelszót nem kell kérned vagy megváltoztatnod, és a saját munkamenetedből sem kell kilépned.
Telepítés
Szekció neve “Telepítés”- Menj a Bővítmények → Új hozzáadása oldalra.
- Keress rá: User Switching.
- Kattints a Telepítés most, majd az Aktiválás gombra.
WP-CLI-vel:
wp plugin install user-switching --activateBedrock projektben Composerrel add hozzá, és utána aktiváld:
composer require wp-plugin/user-switching --devwp plugin activate user-switchingA --dev miatt az éles composer install --no-dev nem telepíti. A WordPress.org oldala szerint WordPress 6.3 és PHP 7.4 vagy újabb kell hozzá.
Átváltás egy felhasználóra
Szekció neve “Átváltás egy felhasználóra”A Switch To link itt jelenik meg:
- a Felhasználók képernyőn, a felhasználók műveleti linkjei között;
- egy felhasználó profiloldalán.
A WordPress Command Palette-ben is megtalálod: rákeresel egy felhasználóra, és onnan átváltasz rá.
- Nyisd meg a Felhasználók oldalt.
- Vidd az egeret a kívánt felhasználó sora fölé, és kattints a Switch To linkre.
- A bővítmény átjelentkeztet, és te már az ő fiókjában böngészel.
Multisite-on a Network Admin Felhasználók képernyőjéről is válthatsz.
Visszaváltás és kikapcsolás
Szekció neve “Visszaváltás és kikapcsolás”A Switch back link minden irányítópult-képernyőn és a WordPress eszköztár profilmenüjében ott van, amíg másik fiókban vagy.
A Switch off a profilmenüben található. Kijelentkeztet, de megőrzi a felhasználóazonosítódat egy sütiben, így újbóli bejelentkezés nélkül visszaválthatsz. Olyan, mintha „senkivé” válnál: ebben az állapotban a kijelentkezett látogatók nézetét teszteled. Kikapcsolás után a Switch back link megjelenik az oldal láblécében, a bejelentkezési képernyőn és a „Meta” widgetben is.
Mire használd
Szekció neve “Mire használd”WooCommerce vásárlói nézet. Válts át egy teszt-vásárlóra, és végigmehetsz a vásárló útján: kosár, pénztár, fiók, rendelések. A WooCommerce több admin képernyőjéről is válthatsz, ha Shop Managerként vagy adminisztrátorként vagy bejelentkezve.
Szerkesztői jogosultság tesztelése. Válts át egy szerkesztő, szerző vagy közreműködő szerepkörű felhasználóra, és nézd meg, melyik menüpontot látja, mit tud szerkeszteni. Ha egy egyedi jogosultságot állítottál be, itt derül ki, hogy tényleg úgy működik-e, ahogy akartad. Ugyanezt jól kiegészíti a Query Monitor jogosultság-panelje (QM_ENABLE_CAPS_PANEL), amely a jogosultság-ellenőrzéseket listázza.
A BuddyPress tagprofil- és taglista-képernyőin, a bbPress tagprofiljain szintén megjelenik az átváltás.
Ki használhatja
Szekció neve “Ki használhatja”Átválthat, akinek megvan az edit_users jogosultsága. Alapértelmezésben ez az adminisztrátor, Multisite-on csak a szuperadmin. Emellett szerkeszthetnie is kell a célfelhasználót, vagyis az egyedi jogosultság-leképezéseket a bővítmény tiszteletben tartja.
A switch_users meta jogosultságot külön is megadhatod vagy megvonhatod egy felhasználótól vagy szerepkörtől. A szűrőnek 9-es prioritáson kell futnia:
add_filter( 'user_has_cap', function ( $allcaps, $caps, $args, $user ) { if ( 'switch_to_user' === $args[0] ) { if ( my_condition( $user ) ) { $allcaps['switch_users'] = true; } } return $allcaps;}, 9, 4 );A my_condition() a te saját feltételed. A célfelhasználó azonosítója a $args[2]-ben van. A kapott felhasználónak a Felhasználók menü eléréséhez a list_users jogosultság is kell. A $allcaps['switch_users'] értékét false-ra állítva megvonhatod a jogot attól is, akinek az edit_users megvan.
Biztonság
Szekció neve “Biztonság”- Csak olyan felhasználó válthat, aki szerkeszthet más felhasználókat.
- A bővítmény sosem mutatja meg a jelszavakat.
- A visszaváltáshoz a WordPress süti-hitelesítését használja, a váltásokat nonce védi.
- Ha egy fiókba már más is átváltott, megerősítést kér.
Adatvédelmi szempontból tudnod kell, hogy a bővítmény három sütit használ: wordpress_user_sw_{COOKIEHASH}, wordpress_user_sw_secure_{COOKIEHASH} és wordpress_user_sw_olduser_{COOKIEHASH}. Az értékük a felhasználó user_login mezőjét olvasható szövegként tartalmazza, ezért a GDPR szempontjából személyes adatként kezeld.
Éles oldalon csak a szükséges ideig és csak megbízható adminisztrátorokkal használd. Átváltás után valódi vásárló nevében látsz és cselekszel, ezért ne adj le rendelést és ne módosíts adatot helyette. Erre teszt-fiókot használj.
Fejlesztőknek
Szekció neve “Fejlesztőknek”A WordPress.org leírása szerint ezeket használhatod a saját kódodban:
user_switching::maybe_switch_url( $user ): nonce-védett átváltó URL-t ad. Átváltás utáni célhoz fűzz hozzáredirect_toparamétert.current_user_switched(): ha a jelenlegi felhasználó átváltással került ide, az eredetiWP_Userobjektumot adja, különbenfalse-t.- Akciók:
switch_to_user,switch_back_user,switch_off_user. - Szűrő:
user_switching_redirect_to, az átváltás utáni átirányítás helyét módosítja.
if ( method_exists( 'user_switching', 'maybe_switch_url' ) ) { $url = user_switching::maybe_switch_url( $target_user ); if ( $url ) { printf( '<a href="%1$s">Switch to %2$s</a>', esc_url( $url ), esc_html( $target_user->display_name ) ); }}Hasznos linkek
Szekció neve “Hasznos linkek”Készült: