Ich schreibe eine Webanwendung in Spring Boot, die einen Filter hat, der nach Frühjahrs Sicherheitsfilter ausführen muss.Spring Boot Filter Reihenfolge: WebLogic 12c vs Tomcat 8
Ich habe meine Filterkette über Java-Config konfiguriert und habe die Reihenfolge meines benutzerdefinierten Filters auf einen höheren Wert als Federsicherheit eingestellt. Dies funktioniert wie erwartet, wenn die Anwendung auf Tomcat ausgeführt wird. In WebLogic 12c funktioniert dies jedoch nicht. WebLogic führt die Filterkette in umgekehrter Reihenfolge aus, wie Tomcat sie ausführt (und/oder umgekehrt).
Hat jemand diese eigentümliche Eigenart schon mal erlebt? Gibt es eine Möglichkeit, WebLogic so zu verhalten, wie es Tomcat tut?
Mein Code:
final FilterRegistrationBean registration = new FilterRegistrationBean(new MyFilter());
registration.setOrder(-99); // spring security's is -100
auf Tomcat, diese MyFilter Brände nach den Sicherheitsfilter. In WebLogic wird MyFilter vor den Sicherheitsfiltern ausgelöst. Wenn ich den Wert von setOrder
auf -101 ändere, dann funktioniert es für WebLogic, aber nicht für Tomcat.
Ich möchte die Anwendung je nach Kontext auf beiden App-Servern ausführen, also muss ich herausfinden, wie dies funktioniert.
Ich denke, ich habe das schon einmal gesehen und es stellte sich heraus, dass es ein Fehler in Weblogic –