Heim > Artikel > Backend-Entwicklung > So implementieren Sie die SSO-Anmeldung in PHP
So implementieren Sie die SSO-Anmeldung in PHP: 1. Der Benutzer betritt die Anmeldeseite, um eine benutzerdefinierte SID zu generieren, und schreibt sie in Redis und Cookies. 2. Schreiben Sie im Konstruktor des Business BaseController eine Operation, um Redis zu aktualisieren. JS erstellt ein Sprungereignis, und dann überprüft der Server den Redis-Speicher des Benutzers basierend auf der SID.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP Version 7.1, Dell G3-Computer.
Wie implementiert man die SSO-Anmeldung in PHP?
SSO-Single-Sign-On-Design und PHP-Implementierung
Es wird empfohlen, sich zunächst mit den Single-Sign-On-SSO-bezogenen Konzepten vertraut zu machen.
1. SSO: Single Sign-On, ein Login, alle zugehörigen Systeme können eingegeben werden, keine Notwendigkeit, sich wiederholt anzumelden
2 Implementierungsplan: Teilen Sie S[ID] + [Cross-domain SID] im [Top-Level-Domain-Name]-Cookie
3. Beenden Sie PHP-Sitzungen und speichern Sie Benutzerinformationen in Redis
4. Schreiben Sie jedes Mal, wenn der Benutzer legal arbeitet, im Konstruktor des Business BaseControllers einen Vorgang, um Redis zu aktualisieren Ablaufzeit des in Redis gespeicherten Benutzeranmeldestatus – Zweck zur Simulation des Sitzungsablaufs
5. Spezifische SSO-Implementierung von Single Sign-On: (PHPsessionId ist veraltet) – Die authentifizierte Benutzeranmelde-API wird auf dem SSO-Server platziert. und andere Anmeldeseiten rufen diese Schnittstelle auf.
1) SSO-Single-Sign-On-Authentifizierung: Der Benutzer betritt die Anmeldeseite, um eine benutzerdefinierte SID zu generieren, schreibt sie in Redis und Cookies, übermittelt das Kontokennwort und passt die SSO-Authentifizierungs-API so an, dass SSO den Benutzer binden muss die SID im Cookie (LoginAction/ssologin /321-Zeile: innerhalb von api::get)
Der lokale Server generiert Token (beides sind benutzerdefinierte Felder und Regeln) und speichert sie in Redis. Die Gültigkeitsdauer wird mit 30 Minuten empfohlen .
2) Schreiben Sie im Konstruktor des Business-BaseControllers eine Operation zum Aktualisieren von Redis. Wenn ein Geschäft vorliegt, werden die entsprechende SID und die Token-Gültigkeitsdauer aktualisiert (d. h., wenn 30 Minuten lang keine Operation erfolgt). läuft ab), – der Zweck besteht darin, den Sitzungsablauf zu simulieren
3) Die im Cookie-Domänennamen gespeicherte SID muss ein Top-Level-Domänenname wie [example.com] sein, die Gültigkeitsdauer des Cookies wird empfohlen Monat;
4) Der Benutzer klickt direkt auf andere Subdomains
Sie befinden sich immer noch auf der Domainnamenseite, auf der Sie sich gerade angemeldet haben. JS erstellt ein Sprungereignis. Die Sprung-URL?&SID=xxx reicht aus. Sie können jQuery.cookie.js verwenden, um die SID aus dem Cookie abzurufen Der Server überprüft auch die SID anhand der SID. Ob die Redis-Daten des Benutzers abgelaufen sind.
Empfohlenes Lernen: „
PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die SSO-Anmeldung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!