2016-12-15 20 views
0

Wir haben einen benutzerdefinierten Filter erstellt, der auf eine Drittanbieter-App zugreifen muss - über Ruheaufrufe, um Details zu erhalten. Der Prozess beinhaltet das Erhalten einer Verbindung über eine URL und dann nachfolgende Ruheaufrufe, um eine Liste zu erhalten. Wenn Sie den Prozess nun in einem benutzerdefinierten Spring Security-Filter anwenden, können wir die Liste nicht abrufen. Der Fehler:Spring Security - Benutzerdefinierter Filter - Ruhezustand aus dem benutzerdefinierten Filter im Frühling Sicherheit

java.net.SocketException: Software caused connection abort: recv failed 

Jetzt ist das ein CORS-Problem? Wenn ja, wie kann CORS im benutzerdefinierten Spring Security Filter aktiviert werden oder ist es ein anderes Problem, das uns nicht bekannt ist?

Hinweis: Entschuldigen Sie uns, da wir den benutzerdefinierten Filtercode in Stack Overflow nicht einfügen können.

  • Dank
+0

können Sie Ihren benutzerdefinierten Filter aktualisieren – kuhajeyan

+0

Sieht einen Netzwerkfehler aus. Weitere Informationen finden Sie hier http://stackoverflow.com/q/135919 Sie sollten überprüfen, um sicherzustellen, dass kein Netzwerkfehler vorliegt und dass Ihr Filter tatsächlich diese Drittanbieter-App erreicht. Überprüfen Sie, ob Sie einen Proxy verwenden sollten. – jlumietu

+0

@jlumietu Danke für die Antwort .. Ich denke nicht, es ist ein Netzwerk-Problem, denn wenn wir die gleiche Operation vom Controller oder der Service-Klasse machen wir können verbinden und das Ergebnis bekommen. Dies kann jedoch nicht vom benutzerdefinierten Filter ausgeführt werden. – nocon

Antwort

0

Es war ein CSRF Problem, das die übrigen Anrufe blockiert wurde.

Hinzugefügt <csrf disabled="true"/> und konnte den Rest Anruf von der benutzerdefinierten Filter machen. Beachten Sie jedoch, dass die Sperrung des CSRF bei Verwendung der Federsicherheit kontraproduktiv ist.

Verwandte Themen