I have a filter defined in web.xml like following:-
AuthenticationFilter
Theory:
Topics.jsp requires validation, so a redirect is made to LogIn.jsf.
LogIn.jsf is served by the FacesServlet. But the page that is containg the faces is really a jsp page. So the servlet mades a forward to the LogIn.jsp (the page that builds the component tree).
In your filter, the path is LogIn.jsp and you don't validate a request for LogIn.jsp so you ask for authentication and a redirect to LogIn.jsf is made again. Go to step 2.
So if you remove , the forwarding of the FacesServlet from LogIn.jsf to LogIn.jsp doesn't enter in the loop.
Quick solution: Add LogIn.jsp to the list of path infos in your if statement.