Heim >Java >javaLernprogramm >Methodenimplementierung basierend auf dem SpringBoot-Passwortabruf (Bild und Text)

Methodenimplementierung basierend auf dem SpringBoot-Passwortabruf (Bild und Text)

不言
不言nach vorne
2019-02-01 10:57:112885Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Implementierung der SpringBoot-Passwortabrufmethode (Bilder und Texte). Ich hoffe, dass er für Sie hilfreich ist.

Ich arbeite kürzlich an meinem eigenen Projekt und eine der Funktionen, die jeder kennt, ist das Abrufen von Passwörtern. Ich werde hier meinen Ansatz mitteilen, da der Prozess so viele Fallstricke birgt. Also notieren Sie es.

Verwendung von Technologien: SpringBoot1.5.6, JPA, SpringSecurity4, MySQL, BootStrap usw. . .

Ablaufdiagramm zum Passwortabruf:

Lassen Sie mich zunächst die Grundprinzipien des Passwortabrufs vorstellen:

Dann implementieren wir es gemäß dem Flussdiagramm. Der erste Schritt besteht darin, auf die Schnittstelle zum Abrufen des Passworts zu klicken: Ich verwende diese Methode >

Die Schnittstelle zum Passwortabruf ist:

Schritt 2: Bestimmen Sie, ob das eingegebene Konto gültig ist

Das Folgende ist der generierte URL-Link, falls vorhanden:

backPassword:

Schritt 3: Beurteilung, ob das Konto in der Rücksetztabelle vorhanden ist. Die Rücksetztabelle ist eine Tabelle, die URLs (Ablaufzeit, Sid, Kontoinformationen usw.) speichert

Der Zweck davon ist: Wenn dieses Datenelement vorhanden ist und nicht gelöscht wird, werden beim nächsten Abruf zwei Datenelemente mit demselben Konto, aber unterschiedlicher SID generiert Passwort, so Der Nachteil ist: Ich weiß nicht, welche URL ich beim Senden einer E-Mail zurückgeben soll, da es 2 URLs gibt

Schritt 4: E-Mail senden

Schauen wir uns zuerst den folgenden Effekt an:

Der nächste Schritt ist der wichtige Teil: Wie man mit dem Verifizierungslink umgeht. Zuerst können wir das /user sehen /reset_password ist eine Anfrage gefolgt von ihren Parametern, also denken Sie daran!

Wir müssen eine Anfrage schreiben, die Route ist /user/reset_password, und gleichzeitig müssen wir die Anfrage in SpringSecurity zulassen. Der Überprüfungsprozess läuft wie folgt ab: Vergleichen Sie zunächst die von der Anfrage übergebene SID und den Benutzernamen (d. h. die E-Mail-Adresse) mit der SID und dem Konto in der Datenbank und vergleichen Sie auch, ob die Zeit innerhalb des Gültigkeitszeitraums von 30 Minuten liegt. Wenn diese erfüllt sind, wird „true“ zurückgegeben, andernfalls „false“. Es ist zu beachten, dass es hier einen Ersatz gibt, bei dem Leerzeichen durch +-Zeichen ersetzt werden. Dies liegt daran, dass die +-Zeichen automatisch in Leerzeichen umgewandelt werden, wenn der HTML-Code nicht durch +-Zeichen ersetzt wird Versagen! ! ! Sobald true zurückgegeben wird, bedeutet dies, dass die Verifizierungs-URL bestanden wurde, und es wird zur Schnittstelle zum Zurücksetzen des Passworts gesprungen:

Hinweis: Ich habe hier keine Überprüfung. Zur Optimierung sollte es nicht so viele if else-Nester

geben, um die Anforderungsroute freizugeben: Wenn nicht, wird durch Klicken auf den Link zur Anmeldeoberfläche

gesprungen

Springen Sie zur Zurücksetzungsseite. Wenn die von uns zweimal eingegebenen Passwörter inkonsistent sind, wird die folgende Eingabeaufforderung angezeigt. Ich habe JS zur Überprüfung verwendet:

Aus Gründen der Genauigkeit führen wir natürlich auch zwei Passwortüberprüfungen im Hintergrund durch. Wenn die Eingabe konsistent ist, wird eine Fehlermeldung zurückgegeben

Hier gibt es nichts, achten Sie einfach darauf, das Passwort mit MD5+Salt zu verschlüsseln, bevor Sie es in der Datenbank speichern, und schauen wir uns dann die Auswirkung der zweimaligen Eingabe des richtigen Passworts an: Die Seite fordert dazu auf Die Änderung ist erfolgreich und im Hintergrund wird kein Fehler gemeldet. Melden Sie sich mit dem neuen Passwort an

Das obige ist der detaillierte Inhalt vonMethodenimplementierung basierend auf dem SpringBoot-Passwortabruf (Bild und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen