Heim  >  Artikel  >  Backend-Entwicklung  >  Analyse der Verwendung von PHP zur Implementierung von Single Sign-On

Analyse der Verwendung von PHP zur Implementierung von Single Sign-On

不言
不言Original
2018-07-24 11:36:221703Durchsuche

Der in diesem Artikel mit Ihnen geteilte Inhalt ist eine Analyse der Verwendung von PHP zur Implementierung von Single Sign-On. Der Inhalt ist von großem Referenzwert und ich hoffe, dass er Freunden in Not helfen kann.

Erläuterung von Single Sign-On

Single Sign On (SSO), kurz SSO genannt, ist derzeit eine der beliebtesten Lösungen für die Unternehmensintegration. 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.

Implementierungsmethode

Serverseitig

  • „Geteiltes Cookie“ ist die Möglichkeit, die Sitzung zu teilen. Im Wesentlichen wird das Cookie nur gespeichert Das Sitzungs-ID-Medium und die Sitzungs-ID können auch in die URL jeder Anfrage eingefügt werden. Der Sitzungsmechanismus ist ein Server und eine Sitzung.

  • Die SSO-Token-Methode ist die Methode Das Teilen der Sitzung ist nicht sicher, daher verwenden wir die Sitzungs-ID nicht mehr als Identitätskennung. Wir generieren eine andere Kennung und nennen sie SSO-Token. Diese Kennung ist in der gesamten Servergruppe eindeutig, sodass alle Servergruppen das Ganze überprüfen können Token. Gleichzeitig bedeutet das Erhalten des Tokens das Abrufen der Benutzerinformationen

Browserseite

  • Es gibt einen sehr kritischen Schritt für die Einzelsignatur. in. Dieser Schritt ist wie folgt: Die Methode der Token-Überprüfung auf der Serverseite hat nichts damit zu tun. Unabhängig davon, ob die früheste „Shared Session“-Methode oder die aktuelle „Token“-Methode verwendet wird, tritt ein solches Problem bei der Identitätsidentifizierung auf Die Browserseite: Der Benutzer meldet sich erfolgreich an und erhält das Token (oder die Sitzungs-ID). Wie kann der Browser es unter anderen Domänennamen speichern und freigeben? Der gleiche Domänenname ist sehr einfach. Speichern Sie das Token im Cookie und legen Sie den Cookie-Pfad auf den Top-Level-Domänennamen fest, damit 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). Beispiel: Google, google.com ist sein Top-Level-Domainname, mail.google.com für E-Mail-Dienste und map.google.com für Kartendienste sind beide Subdomains. Aber was sollten wir tun, wenn wir domänenübergreifend arbeiten? Google hat auch einen Domainnamen, youtube.com, der Videodienste bereitstellt[2].

Technischer Implementierungsmechanismus

Wenn der Benutzer zum ersten Mal auf das Anwendungssystem zugreift, weil er sich noch nicht angemeldet hat, wird er
zu dem geführt Authentifizierungssystem zum Anmelden. ;Entsprechend den vom Benutzer bereitgestellten Anmeldeinformationen führt das Authentifizierungssystem eine Identitätsüberprüfung durch. Wenn es die Überprüfung besteht, sollte es ein Authentifizierungs--Ticket zurückgeben, wenn der Benutzer erneut auf andere Anwendungen zugreift Bringen Sie dieses Ticket mit als Nach Erhalt der Anfrage sendet das Antragssystem das Ticket zur Überprüfung an das Authentifizierungssystem und überprüft die Gültigkeit des Tickets. 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 den Benutzer zu authentifizieren. Nach erfolgreicher Authentifizierung sollte das Authentifizierungssystem 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, Benutzer zu identifizieren, die sich bereits angemeldet haben eingeloggt. 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.

Verwandte Empfehlungen:

Verwendung von PHP zur Implementierung einer einfachen Backend-Registrierung und Anmeldung (mit Code)

Das obige ist der detaillierte Inhalt vonAnalyse der Verwendung von PHP zur Implementierung von Single Sign-On. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn