In den letzten zwei Tagen, da ich Ajax am vorderen Ende verwendet habe, um eine asynchrone Update -Anfrage zu initiieren, stellte ich fest, dass Ajax die Schnittstellenadresse des Backends offenbaren würde. Natürlich ist dieses Problem unvermeidlich und das vordere Ende ist einfacher Text. Leider habe ich verschiedene Fragen in Baidu, Google und QQ -Gruppen gestellt. Sie alle sagten, dass das Problem nur durch Sicherheitsüberprüfung gelöst werden kann. Als Anfänger ist die erste Wahl natürlich die Sitzung. Es gibt Token -Überprüfung, Shrio -Frameworks usw. online. Interessierte Freunde können online nach Tutorials suchen, um zu lernen.
Die Sitzung ist ein Cache -Mechanismus für vorhandene Server, der überprüfen kann, ob der Benutzer angemeldet ist. Ich habe aufgeschrieben, was ich gelernt habe, damit Anfänger Biegepfade vermeiden und den Code direkt hochladen ~
Zunächst muss die Anforderung HttpServletRequest request zu den Parametern der SSM -Anmeldeschnittstelle hinzugefügt werden, um die von der Anforderung durchgeführte Sitzung zu erhalten.
Zweitens legen Sie die Sitzung im Anmeldeschnittstellencode, HttpSession session = request.getSession(true); // Dieser Satz soll eine Sitzung erhalten. TRUE bedeutet, dass, wenn es keine Sitzung gibt, eine neue Sitzung erstellen, ohne sie auszufüllen.
session.setAttribute("logined","success"); // Dieser Satz soll ein Logo schreiben. Sie können das protokollierte Konto auch in der Sitzung festlegen, um die Informationen eines anderen Kontos böswillig zu verhindern, wenn Sie eine Änderungsanforderung initiieren.
Drittens, wie kann ich auf der Schnittstelle überprüfen? Es ist auch erforderlich, den Parameter HTTPServletRequest -Anforderung zu verwenden, um die vom Client initiierende Sitzung eine HTTP -Anforderung zu erhalten. HttpSession session = request.getSession(); session.getAttribute("logined") um zu lesen, ob es einen logierten Schlüssel gibt. Wenn es keine Anmeldung gibt, wird der angeforderte Inhalt nicht angegeben, und die Informationen werden direkt zurückgegeben, um den Benutzer daran zu erinnern, sich anzumelden.
SSM Project Session Scope Problem
Beschreibung: Nachdem sich der Benutzer erfolgreich in das System angemeldet hat, die relevanten Informationen des Benutzers in eine Sitzungsdomäne für einen einfachen Anruf eingerichtet und XX genannt wird.
Wenn sich der Benutzer bei diesem System anmeldet, muss er seine persönlichen Informationen ändern. Nach Abschluss der Änderung werden die geänderten personenbezogenen Daten des Benutzers auf der Seite der Rezeption in diese Sitzungsdomäne eingestellt, um die vorherige Sitzung zu überschreiben. Auf diese Weise, wenn sich der Benutzer erneut anmeldet oder überprüft, die Informationen, nachdem er/sie sie geändert hat.
Analyse: Wenn der Benutzer seine persönlichen Daten ändern möchte, nachdem er seine persönlichen Daten geändert hat (Änderungen der persönlichen Informationen und Änderungen persönlicher Passwörter sind nicht auf derselben Seite), wird das eingegebene alte Passwort aufgefordert, falsch zu sein, da bei der Änderung der persönlichen Informationen kein persönliches Passwort vorhanden ist. Wenn der Benutzer seine eigenen Informationen ändert und seine Informationen in die Sitzung füllt, wird das persönliche Passwort mit einem leeren Wert eingekapselt, und das reale Passwort für die Anmeldung des Benutzers kann zu diesem Zeitpunkt nicht erhalten werden.
Lösung: Wenn Sie Ihr persönliches Passwort nach dem Ändern Ihrer persönlichen Daten reibungslos ändern möchten, müssen Sie der Seite, auf der Sie Ihre persönlichen Daten ändern, eine versteckte Domäne des Benutzerkennworts hinzufügen. Auf diese Weise wird das persönliche Anmeldekennwort mit den vom Benutzer geänderten Informationen in das Objekt eingekapselt und in die Sitzungsdomäne gestopft. Auf diese Weise kann der interne Druck in der Sitzungsdomäne beim Ändern des Kennworts aufgerufen werden, und das Passwort ist nicht leer.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.