


So lösen Sie das Problem des domänenübergreifenden Ajax- und Cookie-Fehlers beim Abrufen und Verlieren in SpringBoot
Wenn ich die Login-Registrierungsseite meines Projekts schreibe, fügt das Backend beim Senden des Bestätigungscodes ein Cookie zu den Antwortdaten hinzu, da meine Registrierungs- und Passwortänderungsfunktionen eine E-Mail-Verifizierung verwenden.
Cookie cookie = new Cookie(toEmail.split("@")[0],verCode); cookie.setMaxAge(30*60); response.addCookie(cookie);
Klicken Sie dann, um sich zu registrieren oder das Passwort zu ändern. Beim Testen , das Backend erhält das Cookie aus der Anfrage, um die E-Mail- und Bestätigungscode-Informationen zu erhalten Das Projekt Nach dem Wechsel in die Cloud ist beim Ausführen des Ajax-Zugriffs ein Problem aufgetreten! Cookies und meldete einen Fehler. Nach der Suche nach Dokumenten wurde festgestellt, dass der Fehler auf das domänenübergreifende Cookie-Verlustproblem von Springboot und Ajax zurückzuführen ist , ich werde hier nur posten
1. Die Ajax-Anfrage muss
xmlhttp.withCredentials = true;
Cookie[] cookies = request.getCookies();2 Fehler)
var xmlhttp = new XMLHttpRequest(); xmlhttp.withCredentials = true; xmlhttp.open("GET", readyUrl, true); xmlhttp.send();

ist „Access-Control-Allow-Origin“, die für die Zugriffskontrolle zulässige Quelle, http-Anfrage-Header-Informationen, legen Sie die Quelle fest
package com.crisp.myblog.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class corsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") //是否发送Cookie .allowCredentials(true) //放行哪些原始域 .allowedOriginPatterns("这里填你前端代码所在的域名:端口") .allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"}) .allowedHeaders("*") .exposedHeaders("*"); } }Wert, der die gemeinsame Nutzung von Ressourcen (domänenübergreifend)
ermöglicht, ist request.getHeader("Origin"), der
den Protokoll- und Domänennamen der Seitedarstellt, auf der sich die aktuell angeforderte Ressource befindet repräsentieren
der aktuell angeforderten Ressource den domänenübergreifenden Zugriff auf Back-End-Ressourcen zu ermöglichenNachdem diese drei Teile eingerichtet wurden, konnte ich das Cookie erneut erhalten
2022-12-09 Update:Ich habe noch mehr gefunden Prägnante und praktische Methode zum Hinzufügen eines domänenübergreifenden AnforderungsfiltersVerwenden Sie StringUtils des Druid-Datenpool-Abhängigkeitspakets isEmpty. Wenn ein Fehler gemeldet wird, schreiben Sie einfach selbst einen Ersatz
response.setHeader("Access-Control-Allow-Origin",request.getHeader("Origin"));
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem des domänenübergreifenden Ajax- und Cookie-Fehlers beim Abrufen und Verlieren in SpringBoot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung