User Switching

Beschreibung

Dieses Plugin ermöglicht es dir, in WordPress mit nur einem Klick schnell zwischen Benutzerkonten zu wechseln. Du wirst sofort ab- und als der gewünschte Benutzer wieder angemeldet. Das ist besonders hilfreich, um Kunden auf WooCommerce-Websites, Mitgliedsseiten oder in Testumgebungen zu unterstützen – oder allgemein auf Websites, auf denen Administratoren zwischen mehreren Konten wechseln müssen.

Funktionen

  • Benutzerwechsel: Wechsle sofort zu einem beliebigen Benutzerkonto unter Benutzer.
  • Zurückwechseln: wechsle sofort wieder zu deinem ursprünglichen Benutzerkonto zurück.
  • Abmeldung simulieren: Melde dich von deinem Benutzerkonto ab, aber erhalte dir die Möglichkeit, dich sofort wieder anzumelden.
  • Kompatibel mit Multisite, WooCommerce, BuddyPress und bbPress.
  • Kompatibel mit den meisten Plugins zur Mitgliedschafts- und Benutzerverwaltung.
  • Kompatibel mit den meisten Zwei-Faktor-Authentifizierungslösungen (siehe die FAQ für weitere Informationen).
  • Für den Einsatz auf Enterprise-WordPress-Plattformen wie Altis und WordPress VIP zugelassen.

Hinweis: User Switching unterstützt WordPress-Versionen, die bis zu drei Jahre alt sind, sowie PHP-Version 7.4 oder höher.

Sicherheit

  • Nur Benutzer mit der Berechtigung, andere Benutzer zu ändern, können zwischen den Accounts wechseln. Standardmäßig sind dies nur Administratoren in Einzelinstallationen und Superadmins in Netzwerkinstallationen.
  • Passworte werden nicht (und können nicht) angezeigt werden.
  • Benutzt die Cookie-Authentifizierung in WordPress während es sich die Benutzerkonten / das Benutzerkonto merkt, zu dem zu gewechselt hast wenn du zurück wechselst.
  • Implementiert das Nonce-Sicherheitssystem in WordPress, das bedeutet, dass nur die die es ausdrücklich vorhaben zu einem anderen Benutzerkonto zu wechseln das auch tun.
  • Vollständige Unterstützung für die Validierung von Benutzersitzungen, sofern zutreffend.
  • Volle Unterstützung für HTTPS.
  • Unterstützt durch the Patchstack Vulnerability Disclosure Program

Nutzung

  1. Gehe zum Benutzer Menü in WordPress und du wirst einen Wechsel zu Link in der Liste der Aktionslinks für jeden Benutzer finden.
  2. Klick hier und du wirst sofort zu diesem Benutzerkonto wechseln.
  3. Du kannst zu deinem ursprünglichen Benutzerkonto zurückwechseln über den Zurückwechseln Link auf jeder Dashboardansicht oder unter Dein Profil in der WordPress Werkzeugleiste.

Unter häufig gestellte Fragen findest du mehr Infos über die Funktion Abmeldung simulieren.

Andere Plugins

Ich pflege mehrere andere Plugins für Entwickler. Probiere sie aus:

  • Query Monitor ist das Entwickler-Tool-Panel für WordPress
  • WP Crontrol ermöglicht es dir, anzuzeigen und zu steuern, was im WP-Cron-System geschieht.

Datenschutzerklärung

User Switching sendet keine Daten an Dritte und bindet auch keine Ressourcen Dritter ein. Dies wird auch nie der Fall sein.

User Switching verwendet Browser-Cookies, um Benutzern den Wechsel zu einem anderen Konto zu ermöglichen. Diese Cookies funktionieren nach demselben Mechanismus wie die Authentifizierungs-Cookies im WordPress-Kern. Das bedeutet, dass ihre Werte das Feld user_login des Benutzers im Klartext enthalten, was aus Datenschutz- und Regulierungsgründen (DSGVO, CCPA usw.) als potenziell personenbezogene Information (PII) behandelt werden sollte. Die Namen der Cookies lauten:

  • wordpress_user_sw_{COOKIEHASH}
  • wordpress_user_sw_secure_{COOKIEHASH}
  • wordpress_user_sw_olduser_{COOKIEHASH}

Einige Fragen zum Datenschutz und zur Sicherheit beim Wechsel zwischen Benutzern findest du auch in den FAQ.

Erklärung zur Barrierefreiheit

User Switching soll für alle Benutzer vollständig barrierefrei sein. Das Plugin setzt bewährte Methoden der Webzugänglichkeit um, gibt semantisches und strukturiertes Markup aus, hält sich an die Standardstile und Barrierefreiheitsrichtlinien von WordPress, nutzt die von WordPress und Webbrowsern bereitgestellten Barrierefreiheits-APIs, wo dies sinnvoll ist, und ist vollständig über die Tastatur bedienbar.

User Switching sollte den Web Content Accessibility Guidelines (WCAG) 2.0 auf Level AA entsprechen, wenn es mit einer aktuellen Version von WordPress verwendet wird, deren Administrationsbereich ebenfalls diesen Richtlinien entspricht. Wenn du ein Problem mit der Barrierefreiheit in User Switching festgestellt hast, öffne bitte ein Thema im Support-Forum des User Switching-Plugins, und ich werde es umgehend beheben.

Screenshots

  • Der Link für den Benutzerwechsel in der Benutzerliste
  • Der Link für den Benutzerwechsel innerhalb des Benutzerprofils

FAQ

Funktioniert dieses Plugin mit PHP 8?

Ja, es wird aktiv getestet und funktioniert bis PHP 8.4.

Was bedeutet „Abmeldung simulieren“?

„Abmeldung simulieren“ meldet dich von WordPress ab, aber behält deine Benutzer-ID in einem Authentifizierungs-Cookie damit du auf Knopfdruck wieder zurückwechseln kannst, ohne dich richtig einloggen zu müssen. Es simuliert eine Abmeldung zum Status „nicht angemeldet“, kann aber rückgängig gemacht werden.

Der Link Switch Off befindet sich in deinem Profilmenü in der WordPress-Werkzeugleiste. Sobald du dich abgemeldet hast, erscheint der Link Switch Back an mehreren Stellen:

  • Im Footer deiner Website
  • Auf dem Anmeldebildschirm
  • Im „Meta“-Widget

Funktioniert dieses Plugin mit WordPress Multisite?

Ja, und du wirst auch aus der Benutzer-Übersicht in der Netzwerkverwaltung zu Benutzern wechseln können.

Funktioniert dieses Plugin mit WooCommerce?

Ja, und du kannst auch von verschiedenen WooCommerce-Verwaltungsbildschirmen aus den Benutzer wechseln, während du als Shop-Manager oder Verwaltungsbenutzer angemeldet bist.

Funktioniert dieses Plugin zusammen mit BuddyPress?

Ja, und du kannst Benutzer auch von der Ansicht des Benutzerprofils und der Mitgliederauflistung wechseln.

Funktioniert dieses Plugin zusammen mit bbPress?

Ja, und du kannst auch Benutzer vom Mitgliederprofil-Bereich wechseln.

Funktioniert dieses Plugin, wenn meine Webseite eine Zwei-Faktor-Authentifizierung benutzt?

Ja, meistens.

Eine Ausnahme die mir bekannst ist, ist Duo Security. Wenn du das Plugin benutzt, solltest du das User Switching für Duo Security Add-on Plugin installieren, welches den Dialog der Zwei-Faktoren-Authentifizierung verhindert, wenn du zwischen Benutzern wechselst.

Welche Berechtigungen braucht ein Benutzer um Nutzerkonten wechseln zu können?

Ein Benutzer benötigt die edit_users Fähigkeit um Benutzerkonten zu wechseln. Standardmäßig haben nur Administratoren diese Fähigkeit, und mit Multisite aktiviert haben nur Super Admins diese Fähigkeit.

Insbesondere muss ein Benutzer die Möglichkeit haben, den Zielbenutzer zu bearbeiten, um zu ihm wechseln zu können. Das bedeutet, wenn du eine benutzerdefinierte Zuordnung von Benutzerberechtigungen eingerichtet hast, die die Funktionen edit_users oder edit_user verwendet, um die Möglichkeit von Benutzern zum Bearbeiten anderer Benutzer zu beeinflussen, sollte dies beim Benutzerwechsel berücksichtigt werden.

Können normale Administratoren Nutzerkonten in einer Multisite-Umgebung wechseln?

Nein. Allerdings kann dies durch Installation des Plugins User Switching for Regular Admins ermöglicht werden.

Kann die Berechtigung für einen Benutzerwechsel auch anderen Benutzern oder Rollen zugewiesen werden?

Ja. Die Meta-Berechtigung switch_users kann einem Benutzer oder einer Rolle explizit zugewiesen werden, um ihnen das Wechseln zwischen Benutzern zu erlauben – unabhängig davon, ob sie über die Berechtigung edit_users verfügen oder nicht. In der Praxis benötigt der Benutzer oder die Rolle außerdem die Berechtigung list_users, um im WordPress-Administrationsbereich auf das Menü „Benutzer“ zugreifen zu können.

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 );

Beachte, dass dies vor der eigenen Berechtigungsfilterung von User Switching erfolgen muss – daher die Priorität 9.

Kann Benutzern die Möglichkeit, zwischen Konten zu wechseln, verweigert werden?

Ja. Benutzerberechtigungen in WordPress können auf false gesetzt werden, um einem Benutzer bestimmte Rechte zu entziehen. Wenn du die Berechtigung switch_users verweigerst, kann der Benutzer keine Benutzer wechseln – selbst dann nicht, wenn er über die Berechtigung edit_users verfügt.

add_filter( 'user_has_cap', function( $allcaps, $caps, $args, $user ) {
    if ( 'switch_to_user' === $args[0] ) {
        if ( my_condition( $user ) ) {
            $allcaps['switch_users'] = false;
        }
    }
    return $allcaps;
}, 9, 4 );

Hinweise:

  • Dies muss vor der eigenen Berechtigungsfilterung von User Switching erfolgen – daher die Priorität 9.
  • Die ID des Zielbenutzers befindet sich in $args[2].

Kann ich meinem eigenen Plugin oder Theme einen individuellen „Umschalten auf“-Link hinzufügen?

Ja. Verwende dazu die Methode user_switching::maybe_switch_url(). Diese kümmert sich um die Authentifizierung und gibt eine nonce-geschützte URL zurück, mit der der aktuelle Benutzer in das angegebene Benutzerkonto wechseln kann.

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 )
        );
    }
}

Wenn du die URL festlegen möchtest, zu der der Benutzer nach dem Wechsel weitergeleitet wird, füge der URL einen redirect_to-Parameter wie folgt hinzu:

if ( method_exists( 'user_switching', 'maybe_switch_url' ) ) {
    $url = user_switching::maybe_switch_url( $target_user );
    if ( $url ) {
        // Redirect to the home page after switching:
        $redirect_to = home_url();
        printf(
            '<a href="%1$s">Switch to %2$s</a>',
            esc_url( add_query_arg(
                'redirect_to',
                rawurlencode( $redirect_to ),
                $url
            ) ),
            esc_html( $target_user->display_name )
        );
    }
}

Der obige Code funktioniert auch, um einen Link zum Zurückwechseln zum ursprünglichen Benutzer anzuzeigen. Wenn du jedoch einen expliziten Link dafür möchtest, kannst du den folgenden Code verwenden:

if ( method_exists( 'user_switching', 'get_old_user' ) ) {
    $old_user = user_switching::get_old_user();
    if ( $old_user ) {
        printf(
            '<a href="%1$s">Switch back to %2$s</a>',
            esc_url( user_switching::switch_back_url( $old_user ) ),
            esc_html( $old_user->display_name )
        );
    }
}

Kann ich feststellen, ob der aktuelle Benutzer in sein Konto gewechselt ist?

Ja. Verwende dafür die Funktion current_user_switched(). Wenn der aktuelle Benutzer von einem anderen Konto in sein eigenes gewechselt ist, gibt sie ein WP_User-Objekt für den ursprünglichen Benutzer zurück – andernfalls gibt sie „false“ zurück.

if ( function_exists( 'current_user_switched' ) ) {
    $switched_user = current_user_switched();
    if ( $switched_user ) {
        // User is logged in and has switched into their account.
        // $switched_user is the WP_User object for their originating user.
    }
}

Kann ich mich jedes Mal anmelden, wenn ein Benutzer zu einem anderen Konto wechselt?

Du kannst ein Protokollierungs-Plugin wie Simple History, WP Activity Log oder Stream installieren. Alle unterstützen User Switching von Haus aus und protokollieren einen Eintrag, wenn ein Benutzer in ein anderes Konto wechselt.

Ermöglicht dieses Plugin einem Benutzer, einem anderen Benutzer eine Aktion zuzuweisen?

Möglicherweise ja, aber User Switching beinhaltet hierfür einige Sicherheitsvorkehrungen und es gibt weitere Vorkehrungen, die du als Webseiten-Administrator treffen kannst:

  • Du kannst ein Protokollierungs-Plugin wie Simple History, WP Activity Log oder Stream installieren. Alle unterstützen User Switching von Haus aus und protokollieren einen Eintrag, wenn ein Benutzer in ein anderes Konto wechselt.
  • Beim Benutzerwechsel wird die ID des ursprünglichen Benutzers in der neuen WordPress-Benutzersitzung für den Benutzer gespeichert, zu dem gewechselt wird. Obwohl diese Sitzung standardmäßig nicht bestehen bleibt, wenn später zurückgewechselt wird, wird diese ID aufgezeichnet, wenn auf deinem Datenbankserver die Abfrageprotokollierung aktiviert ist.
  • User Switching speichert den Anmeldenamen des ursprünglichen Benutzers in einem Authentifizierungs-Cookie (weitere Informationen findest du in der Datenschutzrichtlinie). Wenn dein Serverzugriffsprotokoll Cookie-Daten speichern, wird dieser Anmeldename (zusammen mit der IP-Adresse) für jede Zugriffsanforderung aufgezeichnet.
  • Beim Benutzerwechsel wird eine Aktion ausgelöst, wenn ein Benutzer das Konto wechselt, ausschaltet oder zurückschaltet (siehe unten). Mit diesen Aktionen kannst du je nach Bedarf zusätzliche Protokollierungen zu Sicherheitszwecken durchführen.

Eines oder mehrere der oben genannten Möglichkeiten sollten es dir ermöglichen, eine Aktion mit dem ursprünglichen Benutzer zu verknüpfen, wenn ein Benutzer das Konto wechselt – falls du das benötigst.

Beachte, dass selbst ohne das User-Switching-Plugin jeder Benutzer, der die Berechtigung hat, einen anderen Benutzer zu bearbeiten, diesen für eine Aktion verantwortlich machen kann – zum Beispiel, indem er dessen Passwort ändert und sich manuell in dessen Konto einloggt. Wenn du dir Sorgen machst, dass Benutzer andere missbrauchen könnten, solltest du sehr vorsichtig sein, wenn du Benutzern Administratorrechte gewährst.

Warnt mich das Plugin, wenn ich versuche, in ein Konto zu wechseln, in das bereits jemand anderes gewechselt hat?

Ja. Wenn dies geschieht, wird dir eine Aufforderung angezeigt, in der du bestätigen kannst, dass du weiterhin zu dem betroffenen Konto wechseln möchtest.

Diese Funktion ist nützlich, wenn du mehrere Benutzer auf deiner Website hast, die sich möglicherweise gleichzeitig in andere Benutzerkonten einloggen – zum Beispiel ein Team von Support-Mitarbeitern.

Kann ich direkt aus der Adminleiste zu anderen Benutzern wechseln?

Ja, dafür gibt es ein Plugin eines Drittanbieters Admin Bar User Switching.

Werden beim Wechsel von Nutzerkonten irgendwelche Plugin-Aktionen aufgerufen?

Ja. Sobald jemand zu einem anderen Account wechselt, wird der Hook switch_to_user aufgerufen:

/**
 * Fires when a user switches to another user account.
 *
 * @since 0.6.0
 * @since 1.4.0 The `$new_token` and `$old_token` parameters were added.
 *
 * @param int    $user_id     The ID of the user being switched to.
 * @param int    $old_user_id The ID of the user being switched from.
 * @param string $new_token   The token of the session of the user being switched to. Can be an empty string
 *                            or a token for a session that may or may not still be valid.
 * @param string $old_token   The token of the session of the user being switched from.
 */
do_action( 'switch_to_user', $user_id, $old_user_id, $new_token, $old_token );

Wenn jemand zum ursprünglichen Account zurückwechselt, wird der Hook switch_back_user aufgerufen:

/**
 * Fires when a user switches back to their originating account.
 *
 * @since 0.6.0
 * @since 1.4.0 The `$new_token` and `$old_token` parameters were added.
 *
 * @param int       $user_id     The ID of the user being switched back to.
 * @param int|false $old_user_id The ID of the user being switched from, or false if the user is switching back
 *                               after having been switched off.
 * @param string    $new_token   The token of the session of the user being switched to. Can be an empty string
 *                               or a token for a session that may or may not still be valid.
 * @param string    $old_token   The token of the session of the user being switched from.
 */
do_action( 'switch_back_user', $user_id, $old_user_id, $new_token, $old_token );

Wenn ein Benutzer die Abmeldung simuliert, wird der Hook switch_off_user aufgerufen:

/**
 * Fires when a user switches off.
 *
 * @since 0.6.0
 * @since 1.4.0 The `$old_token` parameter was added.
 *
 * @param int    $old_user_id The ID of the user switching off.
 * @param string $old_token   The token of the session of the user switching off.
 */
do_action( 'switch_off_user', $old_user_id, $old_token );

Wenn ein Benutzer zu einem anderen Konto wechselt, sich abmeldet oder zurückwechselt, wird der Filter user_switching_redirect_to auf die Zieladresse angewendet, zu der der Benutzer weitergeleitet wird:

/**
 * Filters the redirect location after a user switches to another account or switches off.
 *
 * @since 1.7.0
 *
 * @param string       $redirect_to   The target redirect location, or an empty string if none is specified.
 * @param string|null  $redirect_type The redirect type, see the `user_switching::REDIRECT_*` constants.
 * @param WP_User|null $new_user      The user being switched to, or null if there is none.
 * @param WP_User|null $old_user      The user being switched from, or null if there is none.
 */
return apply_filters( 'user_switching_redirect_to', $redirect_to, $redirect_type, $new_user, $old_user );

Darüber hinaus berücksichtigt User Switching bei Bedarf die folgenden Filter aus dem WordPress-Kern:

  • login_redirect beim Wechsel zu einem anderen Benutzer.
  • logout_redirect beim Simulieren der Abmeldung.

Wie kann ich eine Sicherheitslücke melden?

Du kannst Sicherheitslücken über das offizielle User Switching Vulnerability Disclosure Program auf Patchstack melden. Das Patchstack-Team hilft bei der Validierung, Einstufung und Behebung von Sicherheitslücken.

Akzeptierst du Spenden?

Ich akzeptiere Sponsoring über das GitHub-Sponsor-Programm und jede Unterstützung, die du geben kannst, wird mir helfen, dieses Plugin zu pflegen und es für alle kostenlos zu halten.

Rezensionen

16. Dezember 2025
What a great plug in! Made my life so much easier – thank you!
3. Juni 2025
Had to test what multiple user roles see after logging in and User Switching plugin helped tremendously. No fussing with fake/temp accounts needed.
6. Dezember 2024
I integrate this plugin with BuddyBoss, WooCommerce, and some of my custom dashboards. It’s a very handy plugin and has saved me a lot of time by providing features that I would otherwise have to develop from scratch.
Alle 239 Rezensionen lesen

Mitwirkende und Entwickler

„User Switching“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„User Switching“ wurde in 49 Sprachen übersetzt. Danke an die Übersetzenden für ihre Mitwirkung.

Übersetze „User Switching“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.11.1 (4 December 2025)

  • Confirms support for WordPress 6.9

1.11.0 (15 October 2025)

  • Adds a Switch Back link to all wp_die() screens when you’re switched into another account.

1.10.0 (27 July 2025)

  • When the user is switched, display all of User Switching’s messages in the language of the original user

1.9.2 (16 April 2025)

  • Confirms support for WordPress 6.8
  • Minor code quality improvements

1.9.1 (5 December 2024)

  • Fixes the wp_login and wp_logout parameter usage which could cause a fatal error when passed an unexpected value.

1.9.0 (21 November 2024)

  • Introduces a confirmation message when a user attempts to switch into an account which somebody else is already switched into. Helpful for teams of support engineers who switch into customer accounts.
  • Confirms support for WordPress 6.7.
  • Confirms support for PHP 8.4.
  • Various code quality improvements.

1.8.0 (22 July 2024)

  • Adds a ‚Switch back‘ link to some access denied messages within the admin area.
  • Bestätigung der Unterstützung für WordPress 6.6.

1.7.3 (21 February 2024)

  • Confirms support for PHP 8.3
  • Fixes compatibility with BuddyPress version 12
  • Adds configuration for the Live Preview feature on wordpress.org

1.7.2 (16 November 2023)

  • Confirm support for WordPress 6.4
  • Reinstate the missing plugin readme file

1.7.1 (16 November 2023)

  • Fix the redirect type parameter passed to the user_switching_redirect_to filter
  • Increase the minimum supported version of PHP to 7.4

Earlier versions

For the changelog of earlier versions, refer to the releases page on GitHub.