Vorwort
Cookie: Cookie ist eine Client -Technologie, und das Programm schreibt die Daten eines jeden Benutzers in Form eines Cookies in den jeweiligen Browser des Benutzers.
Wenn ein Benutzer einen Browser verwendet, um auf die Webressourcen auf dem Server zuzugreifen, bringt er seinen eigenen Datenbereich mit, damit die Webressourcen ihre eigenen Daten verarbeiten.
Sitzung: Sitzung ist eine serverseitige Technologie. Mithilfe der Sitzungstechnologie kann der Server beim Ausführen sein eigenes Sitzungsobjekt für den Browser jedes Benutzers erstellen. Da die Sitzung exklusiv für den Browser des Benutzers ist, kann der Benutzer, wenn der Benutzer auf die Webressourcen des Servers zugreift, seine eigenen Daten in die Sitzung einfügen. Wenn der Benutzer wieder auf andere Webressourcen auf dem Server zugreift, stammen die anderen Webressourcen aus der jeweiligen Sitzung des Benutzers.
Nehmen Sie die Daten heraus, um dem Benutzer zu dienen.
Wichtige Unterschiede zwischen Sitzung und Cookies:
Wir verwenden häufig die Sitzung, um einige der Anmeldeinformationen des Benutzers zu speichern, um zu überprüfen, ob der Benutzer online ist. Dies ist die am einfachsten implementierte Websites-Lösung. In diesem Artikel wird das SSM -Framework (Spring, SpringMVC, MyBatis) als Träger verwendet, um dieses Anmeldesystem spezifisch zu implementieren.
Die Methode lautet wie folgt:
1. Übergeben Sie den Benutzernamen und das Passwort über das Frontend an die Backend -Oberfläche. Nachdem die Schnittstelle den Wert erhalten hat, wird MD5 verschlüsselt, vergleicht ihn mit den Feldern in der Datenbank, gibt den Status an das vordere Ende zurück und das Frontend springt die Seite entsprechend dem Rückgabewert.
MD5 -Verschlüsselungswerkzeugklasse
öffentlicher String -EncoderByMD5 (String Str) löst NoSuchalgorithmException aus, nicht unterstütztedeneCodingException {// Die Berechnungsmethode MessagedIGest md5 = Messagedigest.getInstance ("Md5"); Base64Encoder Base64en = new Base64EnenCoder (); // verschlüsselt String String newStr = Base64en.Encode (Md5.Digest (str.getBytes ("utf-8")); return Newsr; }DAO -Schicht und Mapper
<select id = "valiteuser" parameterType = "java.lang.String" resultType = "com.heitian.ssm.model.userinfo"> Kennwort aus T_USER Wob
Service -Layer -Implementierungsklasse
public String valiteuser (userInfo userInfo) {try {userInfo userDemo = userDao.valiteuser (CCCODERBYMD5 (userInfo.getUnername ())); if (userInfo.getPassword (). Equals (userDemo.getPassword ()) {return "pass"; }} catch (Ausnahme e) {e.printstacktrace (); "Fehler" zurückgeben; } return "mapse"; }Controller -Schicht
@ResponseBody @RequestMapping ("/loginuser") public HashMap <String, Object> loginuser (httpServletRequest -Anforderung, userInfo userInfo) {HashMap <String, Objekt> result = new Hashmap <String, Objekt> (); HttpSession Session = Request.GetSession (); System.out.println ("Anmeldemefehler"); String status = userService.valiteuser (userInfo); if (status.equals ("pass")) {session.setAttribute ("current_user", userInfo.getUnername ()); result.put ("Status", "Pass"); } else {if (status.equals ("refuse")) {result.put ("status", "reduse"); } else {result.put ("Status", "Fehler"); }} Rückgabeergebnis; }Durch die Rückgabe der Statusinformationen können wir feststellen, ob die Anmeldung erfolgreich ist. Wenn es erfolgreich ist, schreiben Sie das Schlüsselwertpaar Benutzername in die Sitzung.
2. Wie können Sie beim Zugriff auf andere Seiten feststellen, ob sich ein Benutzer online anmelden? Ich benutze JS, um den Sitzungswert für Richter zu erhalten.
Das heißt: Erhalten Sie zuerst den Wert der Sitzung. Wenn es leer oder null ist, bedeutet dies, dass die Sitzung vorher kein Anmeldempfindungsverhalten hat. Wir umleiten es automatisch auf die Homepage. Wenn es einen Wert gibt, bedeutet dies, dass ein Anmeldeverhalten vorhanden ist und der Benutzer online angemeldet ist
Zu diesem Zeitpunkt können wir den Benutzernamen verwenden, um die Hintergrundschnittstelle anzupassen.
<script Language = "javaScript"> $ (Dokument) .Ready (function () {var myName = "<%= session.getAttribute (" current_user ")%>"; var projectId1 = "<%= Request.GetatTribute (" ProjectID ")%>"; nofollow ";} </script>3.. Benutzeranmelde
Melden Sie sich an, dh den Wert in der Sitzung löschen, und eine Abmeldeschnittstelle wird aus dem Hintergrund geöffnet.
@RequestMapping ("/quituser") public String Quituser (httpServletRequest -Anforderung) {httpSession Session = Request.GetSession (); Session.removeAttribute ("current_user"); Rückgabe "Index"; }Dies realisiert ein Benutzerverwaltungssystem von der Anmeldung bis zum Anmelden. Dies ist jedoch das grundlegendste System, und Sicherheit ist ein großes Problem. Daher sind Verifizierungslösungen wie JWT -Token immer noch sehr nützlich.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.