Se si vuole rendere accessibili certe pagine solo ad utenti "autenticati", l'uso di un filter è una possibilità. Il filter dovrebbe ragionare e funzionare così: c'è in sessione una informazione che dice che l'utente è "loggato"? Se sì, allora fa procedere normalmente la request. Altrimenti, se no, allora fa un redirect ad una pagina di login.
Gli url della pagina di login e della risorsa (tipicamente una Servlet) che esegue l'autenticazione (a seguito del POST dal form di login) chiaramente devono essere accessibili a tutti. Quindi o non "matchano" con il pattern del filter oppure se il pattern del filter becca anche quelli, li devi escludere tu programmaticamente per permettergli l'accesso sempre e comunque.
Il succo comunque è: NON è il filter che esegue l'autenticazione. Non deve essere lui a leggere alcun "database" degli utenti, verificare password, ecc... Il filter deve solo: o lasciar passare oppure "bloccare" la request rimandando l'utente al punto dove può autenticarsi.


Rispondi quotando