Quote Originariamente inviata da andbin Visualizza il messaggio
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.
Faccio una premessa, nell’esercitazione che devo portare a termine devo usare un filtro.
Adesso ci ragiono su ma se il filtro non esegue l'autenticazione e di questo se ne occupa la servlet allora il filtro è soltanto una classe formalmente inutile perché potrei usare una servlet per fare tutto.
Questi filtri non mi piacciono neanche un po’, non ne vedo alcuna utilità.
Grazie per la risposta