✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

Arbeiten mit WordPress Transienten und Authentifizierung

8

Um mit dem Inhalt des vorherigen Beitrags fortzufahren, ist es wichtig, auch die Verwendung von Transienten und Authentifizierung zu berücksichtigen.

Weil es Szenarien gibt, in denen Benutzer auf einer Website authentifiziert werden (denken Sie an einen Bereich nur für Mitglieder einer Website) und/oder nicht auf der Website authentifiziert werden (z. B. Website-Besucher).

Diese Arten von Situationen sind sowohl auf Blogs als auch auf anderen Websites und Webanwendungen auf breiter Front vorhanden.

WordPress Transienten und Authentifizierung

Wie können wir Benutzerinformationen für diese Benutzer speichern? Glücklicherweise bietet uns PHP einige Funktionen, die uns die Möglichkeit geben, dies zu tun, ohne WordPress-APIs zu benötigen.

Letztendlich ist das Ziel, das wir erreichen wollen, die Serialisierung transienter Daten mit einem Schlüssel, der die ID eines authentifizierten Benutzers oder eines nicht authentifizierten Benutzers verwendet.

Und hier erfahren Sie, wie Sie dies tun.

Die WordPress-API

Unter der Annahme, dass ein Benutzer mit WordPress authentifiziert ist, können wir die Funktion get_current_user_id verwenden. Es ist auch einfach.

Aus der Codereferenz:

Rufen Sie die ID des aktuellen Benutzers ab

Wir können diese Funktion dann im Konstruktor verwenden, um eine Eigenschaft festzulegen, die die ID des Benutzers speichert. Und ich werde den Code dafür gleich zeigen, aber was ist, wenn ein Benutzer nicht eingeloggt ist?

Die PHP-API

Wenn es darum geht, Informationen für nicht authentifizierte Benutzer zu speichern, brauchen wir immer noch eine Möglichkeit, sie zu identifizieren. Dies kann auf verschiedene Weise erfolgen, indem verschiedene Werte verwendet werden, die von PHP verwaltet werden, um sie an den transienten Schlüssel anzuhängen.

Denken Sie daran, dass der Schlüssel eindeutig sein muss, und solange er für den Benutzer auf der Website eindeutig ist, sollte er gut sein.

Zwei Funktionen, die PHP bietet, sind:

Was das zweite betrifft, funktioniert es nicht mit IIS oder Windows-basierten Servern. Aber ich erwähne es hier als eine weitere Alternative für Hosts, die *nix-basiert sind (da so viele es sind, besonders im Hinblick auf WordPress).

Die Funktion get_current_user ist klar genug:

Ruft den Namen des Eigentümers des aktuellen PHP-Skripts ab

Auch im Handbuch gibt es noch etwas zu beachten. Es heißt ausdrücklich: „[gibt] den Namen des Eigentümers des aktuellen PHP-Skripts zurück.” Und ich werde darauf vor dem Ende des Beitrags eingehen.

Arbeiten mit WordPress Transienten und Authentifizierung

Darüber hinaus ist get_current_user möglicherweise auch nicht das, wonach Sie suchen, je nachdem, wie der Server konfiguriert ist und welcher Benutzer der „Eigentümer” des PHP-Skripts ist, das auf dem Server ausgeführt wird.

Aber für dieses Beispiel genügt es zu sagen, dass es funktioniert. Und hier ist der Grund: Der Punkt, den ich zu demonstrieren versuche, ist, wie man Werte verwendet, die für einen Besucher, der nicht auf einer Website authentifiziert ist, einzigartig sind, um einen Schlüssel zu generieren, aus dem wir Informationen ziehen können.

Wie der Schlüssel generiert wird, ist dem eigentlichen Code untergeordnet.

Alles zusammen kombinieren

Wie sieht also der Code aus, wenn wir die oben genannten Funktionen nutzen sollen? Das heißt, wenn wir eine Eigenschaft pflegen, die die ID des Benutzers enthält, und dies dann sowohl für authentifizierte als auch für nicht authentifizierte Benutzer?

Vielleicht das :

Und das gibt Ihnen die Funktionalität, die zum Erstellen einer eindeutigen Benutzer-ID sowohl für authentifizierte als auch für nicht authentifizierte Benutzer erforderlich ist.

Was ist mit transienten Schlüsseln?

Ja – ein Teil dessen, was wir besprechen, ist auch das Erstellen eindeutiger transienter Schlüssel.

Um dies zu tun, fand ich es einfach genug, die ID des Benutzers, die wir oben generiert haben, zu verketten und sie an den Schlüssel anzuhängen, der beim Serialisieren eines Transienten verwendet wird.

Zum Beispiel :

Mit dem Wert, den diese Funktion zurückgibt, können wir sie dann verwenden, um die Daten mit eindeutigen Schlüsseln als Transient zu speichern.

Noch andere Optionen

Wie bereits erwähnt, ist die einfache Verwendung von Funktionen, die in PHP integriert sind, möglicherweise nicht der richtige Weg. Aber das bedeutet nicht, dass es keine anderen Werte gibt, die dem, was Sie brauchen, einen einzigartigen Wert verleihen.

In solchen Fällen ist es wichtig, festzulegen, wie Sie Ihren Benutzer identifizieren möchten, welches Betriebssystem er verwendet und welchem ​​Benutzerkonto die Anwendung gehört.

Wenn dies keine ausreichend eindeutige Einstellung bietet (und es ist sehr wahrscheinlich, dass dies unter bestimmten Bedingungen nicht der Fall ist), gilt das Prinzip immer noch – Sie müssen nur den Funktionsaufruf get_current_user() durch etwas ersetzen, das am besten funktioniert Sie.

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen