2012-03-29 8 views
0

Ich benutze Spring Security 3.0.5 und Camel 1.5 (ja, sehr alt, aber wir haben keine Zeit zu aktualisieren).Incorrect SecurityContext nach Camel Umleitung

In diesem speziellen Szenario lade ich eine Datei hoch, die einen Spring Controller trifft, der dann den Anfragetext (der XML ist) zu einem Endpunkt umleitet, der eine Methode in einer anderen Klasse ist. Hier ist das Problem: Ich ließ einen Tester einen Upload durchführen, aber als die GUI-Liste der Dateien zurückkam, hatte sie den Namen einer anderen Person als die Person, die die Datei hochgeladen hat. Während des Debugging habe ich festgestellt, dass der SecurityContext im ersten Spring Controller korrekt ist, da es sich tatsächlich um die Anmeldeinformationen für die Person handelt, die den Upload durchführt. Nach der Camel-Weiterleitung war der SecurityContext jedoch für einen anderen Benutzer, der zufällig eine Sitzung in der Web-App hatte. Offensichtlich ist das nicht gut.

So zwei Fragen:

  1. Weiß jemand, was zu tun oder wenn es etwas gibt, ich 1.5 unter Verwendung von Camel tun kann, dieses Problem zu beheben?
  2. Warum sollten sich die Anmeldeinformationen eines anderen Benutzers aus einer anderen Sitzung in dieser Sitzung befinden? Diese Frage ist unabhängig von Camel.

Antwort

0

Welche http verwenden Sie? Können Sie überprüfen, ob nur ein einziger Thread die Anfrage bearbeitet, oder sind mehrere Threads beteiligt?

Und btw Camel 1.5 ist EOL, und überhaupt nicht mehr zu unterstützen.

+0

Mit https.Just wurde ein Test durchgeführt und der Spring Controller wird in einem anderen Thread ausgeführt als der Camel-Endpunkt. – wxkevin