Das Basisbeispiel von Spring Security gibt diese Ausnahme.
Fehler: "Ein universelles Vergleichsmuster ('/ **') wird vor anderen Mustern in der Filterkette definiert, wodurch sie ignoriert werden. Bitte überprüfen Sie die Reihenfolge in Ihrem Namespace oder der FilterChainProxy-Bean-Konfiguration"
Ich habe viele Beiträge zu diesem Thema überprüft. Aber konnte keine Lösung finden. Jeder in der Lage, eine Hallo Frühling Sicherheit zu implementieren?
Ich verwende diese Versionen - Spring 3.2.0.RELEASE / Spring security 3.2.0.RELEASE / Tomcat 7 / Java 1.7.
Hier ist mein Code:
web.xml
%Vor%spring-context.xml
%Vor%MyController.java
%Vor%pom.xml
%Vor%Dateistruktur
Sie verwenden fälschlicherweise Ihre XML-Kontextdateien, die zu einer doppelten Bean-Definition (einschließlich der Sicherheitskonfiguration) führen. Und <http>
-Konfiguration ohne pattern
-Attribut entspricht /**
= & gt; dein Fehler.
Hier definieren Sie die Stamm-XML-Kontextdatei für das Servlet:
%Vor% Erstellen Sie stattdessen eine neue Kontextkonfiguration (Sie können diese Deklaration weglassen, wenn Sie den Standardnamen verwenden, nämlich {your-servlet-name}-servlet.xml
= & gt; spring-dispatcher-servlet-servlet.xml
):
Der Unterschied zwischen den Kontexten root und servlet wurde hier in StackOverflow mehrfach diskutiert. Grundsätzlich sollte der root-Kontext ( spring-context.xml
und security-context.xml
in Ihrem Fall) Application-Wide-Beans (Dienste, DAOs, einschließlich Sicherheitskonfiguration) und der Dispatcher-Kontext ( dispatcher-servlet.xml
in meinem Beispiel) Dispatcher-Servlet-spezifische Beans wie Controller enthalten , Resolver anzeigen usw.
Weiterführende Literatur:
Tags und Links spring-security java-7 tomcat7