User in der DB deaktivieren, ohne ihn zu löschen

  • Hi,

    ich möchte aus Sicherheitsgründen bei einer Kundenistallation in der WP-Datenbank einen Benutzer anlegen, der durch das Setzen eines Schalters in der Datenbank aktiviert / deaktiviert werden kann und dadurch dann in der User-Liste Backend ein- oder ausgeblendet ist.

    Kennt jemand einen Lösungsweg dafür?

    Danke schön im Vorhinein!

    Arthur

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Für wen soll er denn alles unsichtbar sein? Warum stufst du den User in den Rechten nicht einfach zeitweise runter auf Abonnent z. B.?

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Wie schon gesagt, es geht um Sicherheitsfragen. Mein Kunde will in der DB einen User aktivieren können für den Fall, dass kein anderer Login mehr funktioniert. Es geht quasi um einen "Not-User", der bei Bedarf über eine Switch in der DB und nicht übers Backend aktivierbar sein soll.

    Wie kann man so etwas realisieren?

    Ich habe etwa an so etwas gedacht: in der User-Tabelle manuell ein neues Feld anlegen, Werte: 0, 1. Wenn Wert = 1: Benutzer kann sich anmelden; wenn Wert = 0: Benutzer kann sich nicht anmelden.

    Ideen?

    Greets, Arthur

  • in der DB-Tabelle wp_usermeta kannst du den wp_user_level (10) und die Capabilities (a:1:{s:13:"administrator";s:1:"1";}) festlegen: https://codex.wordpress.org/Roles_and_Capa…Role_Conversion


    EDIT sagt, hier ein Bsp. wie man die Werte in der DB updaten kann (Tabellen-Prefix und User-ID natürlich anpassen):
    ADMIN

    Code
    update wp_usermeta set meta_value = '10' where user_id = 'XY' and meta_key = 'wp_user_level';
    update wp_usermeta set meta_value = 'a:1:{s:13:"administrator";s:1:"1";}' where user_id = 'XY' and meta_key = 'wp_capabilities';


    SUBSCRIBER

    Code
    update wp_usermeta set meta_value = '0' where user_id = 'XY' and meta_key = 'wp_user_level';
    update wp_usermeta set meta_value = 'a:1:{s:10:"subscriber";b:1;}' where user_id = 'XY' and meta_key = 'wp_capabilities';


    Geht aber natürlich ja auch manuell in der DB.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

    Einmal editiert, zuletzt von maxe (8. Oktober 2015 um 18:58)

  • Ich habe etwa an so etwas gedacht: in der User-Tabelle manuell ein neues Feld anlegen, Werte: 0, 1. Wenn Wert = 1: Benutzer kann sich anmelden; wenn Wert = 0: Benutzer kann sich nicht anmelden.


    Das wird so ohne weiteres nicht funktionieren, da Wordpress die Felder nicht kennt, auch wenn sie in der Datenbank wären.

    Leg dir die beiden Snippets von maxe ab, dann kannst du im Notfall einen Admin aktivieren. Solange man ihn nicht braucht ist er ein harmloser Abonnent.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Danke für Euren Input, das wäre schon nah' an meine Wunschresultat dran. Jetzt stellt sich lediglich die Frage, wie ich den User im Backend (Benutzer => Alle Benutzer) ausblenden kann. Gibt's da eine Möglichkeit?

    Danke!

    Cheers, Arthur

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!