mit hübschen Gesichtern mit Web-Filter

9

Mit Tomcat 7 --- Primefaces 3.4.1 --- javax Gesichter 2.1.17 --- prettyfaces-jsf2 3.3.3

Ich habe hübsche Gesichter in meinem Projekt richtig konfiguriert, aber meine Webfilter funktionieren nicht mit neuen URLs, die von hübschen Gesichtern geschrieben werden.

Hier ist ein Beispiel pretty-config.xml

%Vor%

login (Willkommen) und Registrierungsseiten befinden sich im Ordner "public" und ihr Webfilter ist mit einer Anmerkung definiert: @WebFilter ("/ public / *")

für meine Homepage im "secure" Ordner (genau dort werden mehr Seiten im Ordner sein), habe ich auch einen Web Filter und seine Annotation definiert: @WebFilter ("/ secure / *)

hübsche URLs funktionieren gut, aber diese Filter funktionieren nur, wenn ich die ursprünglichen URLs schreibe.

1) Wie kann ich meine Webfilter reparieren?

2) Ich möchte auch Benutzer für die Eingabe der ursprünglichen URL blockieren. Ich weiß, dass hübsche Gesichter ursprüngliche URLs vollständig verbergen, aber gibt es eine Möglichkeit, es zu tun?

- Gelöst - Danke für BalusC

Wenn Sie Ihre Filter mit Anmerkungen definiert haben, können Sie Dispatcher-Einstellungen wie

konfigurieren

@WebFilter (urlPatterns="/ public / *", DispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD} )

    
oko 25.03.2013, 01:14
quelle

1 Antwort

11

PrettyFaces verwendet wie viele URL-Neuschreiblösungen RequestDispatcher#forward() , um die Anfrage an die gewünschte Zielressource weiterzuleiten.

Servlet-Filter werden bei der Zuordnung ohne <dispatcher> standardmäßig nur auf "initialen" Anforderungen, nicht auf weitergeleiteten, eingeschlossenen oder fehlerhaften Anforderungen überwacht.

Wenn Sie also einen anderen Servlet-Filter in web.xml nach PrettyFaces zuordnen, wird er standardmäßig nicht ausgelöst, es sei denn, Sie legen explizit <dispatcher> auf FORWARD vor Der Standardwert von REQUEST (Sie sollten dies für den Fall beibehalten, dass PrettyFaces keine Weiterleitung durchführen muss).

%Vor%

Oder für den Fall, dass Sie @WebFilter Verwenden Sie in Ihren Filtern die dispatcherTypes Attribut:

%Vor%

Wenn alternativ der betreffende Filter das Anfrage / Antwort-Ziel in keiner Weise ändert, z.B. setze den Zeichensatz, komprimiere mit Gzip, höre auf Ausnahmen usw., dann kannst du es auch einfach vor PrettyFaces einfügen.

    
BalusC 25.03.2013, 01:21
quelle

Tags und Links