Ich verwende Spring Security 3.0 mit JSPs. Ich habe einen RequireVerificationFilter erstellt, der nicht überprüfte Benutzer auf eine Seite "Bestätige deine E-Mail" umleitet.Spring Security 3.0: Wie gebe ich URLs an, auf die ein benutzerdefinierter Filter angewendet wird?
habe ich die Filter auf den Federsicherheitsfilterstapel auf den letzten Platz in etwa so:
Bean Definition in meinem app-config.xml:
<bean id="requireVerificationFilter" class="com.ebisent.web.RequireVerificationFilter" />
Filter hinzugefügt Sicherheitsfilterliste zu springen meinem security-config.xml:
<custom-filter ref="requireVerificationFilter" after="LAST" />
Der Filter funktioniert, aber es filtert seine eigene Weiterleitungs-URL. Das heißt, der Filter leitet nicht verifizierte Benutzer an/access/verify um, aber diese URL wird auch vom Filter abgefangen, der die Weiterleitung ad infinitum versucht.
Ich versuchte mit dem <filter-mapping>
-Tag, um die URLs zu beschränken, auf die dieser neue Filter zutrifft, aber das scheint nicht so zu funktionieren, wie ich dachte. Hier ist der web.xml Eintrag ich sowieso hinzugefügt:
<filter>
<filter-name>requireVerificationFilter</filter-name>
<filter-class>com.ebisent.web.RequireVerificationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>requireVerificationFilter</filter-name>
<url-pattern>/account/*</url-pattern>
</filter-mapping>
Ich las „Hinzufügen in Selbst erstellte Filter“ im Frühjahr Sicherheit Dokumention, aber keine Antwort finden.
Meine Frage ist, wie kann ich angeben, auf welche URLs mein Filter angewendet wird?
UPDATE:
ich diese Arbeit bekam durch Angabe der URL innerhalb des Filters selbst zu ermöglichen. Das funktioniert gut für mich, aber wenn es eine bessere/mehr "federnde" Art gibt, es zu tun, würde ich mich freuen, es zu hören.
Vielen Dank! Ich habe intercept-URL-Tags in meiner Sicherheitskonfiguration, aber ich wusste nicht, dass Sie dort Filter angeben können. – outis
Aber [Spring Security Referenz-Dokumentation] (http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#nsa-intercept-url-parents) sagt, dass: 'filters' Attribut" Kann nur den Wert "none" annehmen ". – btpka3