Single Sign On (SSO), kurz SSO genannt, ist derzeit eine der beliebtesten Unternehmensintegrationslösungen. Die Definition von SSO besteht darin, dass sich Benutzer in mehreren Anwendungssystemen nur einmal anmelden müssen, um auf alle gegenseitig vertrauenswürdigen Anwendungssysteme zuzugreifen.
Empfohlene Lektüre: PHP-Server
So implementieren Sie Single Sign-On
serverseitig
„Geteiltes Cookie“ ist eine Möglichkeit, eine Sitzung zu teilen. Im Wesentlichen ist ein Cookie nur ein Medium zum Speichern der Sitzungs-ID. Die Sitzungs-ID kann auch in der URL jeder Anfrage platziert werden ist ein Server und eine Sitzung
Die SSO-Token-Methode liegt daran, dass die Methode zum Teilen von Sitzungen nicht sicher ist, sodass wir die Sitzungs-ID nicht mehr als Identitätskennung verwenden. Wir generieren eine andere Kennung und nennen sie SSO-. Token. Diese Kennung wird in der gesamten Servergruppe eindeutig verwendet, sodass alle Servergruppen das gesamte Token gleichzeitig überprüfen können, was bedeutet, dass die Informationen des Benutzers
Browserseite abgerufen werden
Einziger Punkt Es gibt einen sehr kritischen Schritt beim Anmelden. Dieser Schritt hat nichts mit der Art und Weise zu tun, wie das Token auf der Serverseite überprüft wird, unabhängig davon, ob die früheste „Shared Session“-Methode oder das aktuelle „Token“ verwendet wird "-Methode wird die Identitätsidentifizierung auf der Browserseite mit einem solchen Problem konfrontiert: Nachdem sich der Benutzer erfolgreich angemeldet und das Token (oder die Sitzungs-ID) erhalten hat, wie kann der Browser es speichern und für andere Domänennamen freigeben? Der gleiche Domänenname ist sehr einfach: Speichern Sie das Token im Cookie und legen Sie den Cookie-Pfad auf den Domänennamen der obersten Ebene fest, sodass alle Subdomänen das Token im Cookie lesen können. So teilen Sie Cookies (dies nennt man geteilte Cookies, das obige sollte geteilte Sitzung heißen).Mechanismus der technischen Umsetzung
Wenn der Benutzer zum ersten Mal auf das Anwendungssystem zugreift, wird er, da er sich noch nicht angemeldet hat, zum Authentifizierungssystem weitergeleitet um sich anzumelden; nach Angaben des Benutzers führt das Authentifizierungssystem eine Identitätsüberprüfung durch. Wenn der Benutzer auf andere zugreift, sollte ein Authentifizierungsnachweis zurückgegeben werden Bei erneuter Anmeldung bringt er dieses Ticket als Berechtigungsnachweis für seine eigene Authentifizierung mit. Nachdem das Antragssystem die Anfrage erhalten hat, sendet es das Ticket zur Überprüfung an das Authentifizierungssystem, um die Gültigkeit des Tickets zu überprüfen. Bei bestandener Verifizierung kann der Benutzer ohne erneute Anmeldung auf das Anwendungssystem 2 und das Anwendungssystem 3 zugreifen.Zur Implementierung von SSO sind folgende Hauptfunktionen erforderlich:
Alle Anwendungssysteme teilen sich ein Identitätsauthentifizierungssystem.
Ein einheitliches Authentifizierungssystem ist eine der Voraussetzungen für SSO. Die Hauptfunktion des Authentifizierungssystems besteht darin, die Anmeldeinformationen des Benutzers mit der Benutzerinformationsdatenbank zu vergleichen und nach erfolgreicher Authentifizierung eine Anmeldeauthentifizierung für den Benutzer durchzuführen. Das Authentifizierungssystem sollte ein einheitliches Authentifizierungszeichen (Ticket) generieren und es an den Benutzer zurücksenden. Darüber hinaus sollte das Authentifizierungssystem auch das Ticket überprüfen, um seine Gültigkeit festzustellen. Alle Anwendungssysteme können Ticketinformationen identifizieren und extrahieren. Um die SSO-Funktion zu realisieren und Benutzern die einmalige Anmeldung zu ermöglichen, muss das Anwendungssystem in der Lage sein, bereits angemeldete Benutzer zu identifizieren. Das Anwendungssystem sollte in der Lage sein, Tickets zu identifizieren und zu extrahieren. Durch die Kommunikation mit dem Authentifizierungssystem kann es automatisch feststellen, ob sich der aktuelle Benutzer angemeldet hat, und so die Single-Sign-On-Funktion abschließen.Das obige ist der detaillierte Inhalt vonWie wird PHP Single Sign-On implementiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!