Die Klasse at.visionflow.dle.dwe.DLESecurityFilter kann als Servlet Filter in der web.xml definiert werden:
<filter>
<filter-name>DLESecurity</filter-name> <filter-class>at.visionflow.dle.dwe.DLESecurityFilter</filter-class>
<init-param>
<description>Forward the request to this page, if the user is not logged in</description>
<param-name>dle.loginPage</param-name>
<param-value>/login.brick</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DLESecurity</filter-name> <url-pattern>*.sbrick</url-pattern>
<url-pattern>/secret/*</url-pattern>
</filter-mapping>
Das Vorgehen ist dabei das gleiche wie bei der Definition eines Servlets. Zuerst wird der Filter an sich definiert, mit einem eindeutigen Namen, danach wird ein Mapping definiert, das festlegt, auf welche URLs der Filter greift.
Der DLESecurityFilter prüft bei einer eingehenden Anfrage auf diesen URLs, ob der Benutzer angemeldet ist (Siehe Feld WEB:UserIsLoggedIn).
Ist der Benutzer angemeldet, wird die Anfrage normal weiter bearbeitet.
Ist der Benutzer nicht angemeldet, wird die Anfrage an eine andere URL weitergeleitet, z.B. einer Fehlermeldungsseite oder eine Login-Seite.
Die URL, an die die Anfrage weitergeleitet werden soll, wird mit dem Filter Parameter dle.login konfiguriert.
Der weitergeleiteten Anfrage wird zudem noch die ursprünglich angeforderte URL als Anfrageattribut (Siehe Seite 29 und Kommando HTTP Anfrageattribut lesen auf Seite 34) mit dem Namen dle.targetLink.
