Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8763579
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 13, 20262026-06-13T15:48:41+00:00 2026-06-13T15:48:41+00:00

I want to implement a filter to do the authentication, but somehow it is

  • 0

I want to implement a filter to do the authentication, but somehow it is stuck in infinite loop… Any idea appreciated.

    HttpServletRequest httpRequest = (HttpServletRequest) request;
    HttpServletResponse httpResponse = (HttpServletResponse) response;

    doBeforeProcessing(request, response);

    Throwable problem = null;
    HttpSession session = httpRequest.getSession(true);
    if(session.getAttribute("userName")!=null&&session.getAttribute("userName")!=(""))
    {
        try {
            chain.doFilter(request, response);
        } catch (Throwable t) {
            // If an exception is thrown somewhere down the filter chain,
            // we still want to execute our after processing, and then
            // rethrow the problem after that.
            problem = t;
            t.printStackTrace();
        }   
    }else{
        httpResponse.sendRedirect("login.jsp");
        return;
    }

This code in debug mode just run in infinite times, basicly i want to redirect the user to the login.jsp when he is not logged in.
Any answer appreciated.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-13T15:48:43+00:00Added an answer on June 13, 2026 at 3:48 pm

    Here,

    httpResponse.sendRedirect("login.jsp");
    

    you’re sending a new HTTP request for the target page instead of using the current request for it. This new HTTP request would of course hit the filter once again if it’s been mapped on an overly generic URL pattern, such as /*. And the same checks would be performed and it would be redirected again. Etcetera. This is a neverending story.

    You need to add an extra check to perform FilterChain#doFilter() as well when the currently requested page is the login page.

    String loginURL = httpRequest.getContextPath() + "/login.jsp";
    
    if (httpRequest.getRequestURI().equals(loginURL)) || session.getAttribute("userName") != null) {
        chain.doFilter(request, response);
    } else {
        httpResponse.sendRedirect(loginURL);
    }
    

    Note that I also removed the nonsensicial check on the empty string as username (you’d however ensure that your code is nowhere setting an empty string as username. Just use null to represent a non-logged-in user. Also note that I fixed the redirect URL as well, because it would have failed when the currently requested URL is in a subfolder.

    A different alternative is to put all those restricted pages in a common subfolder, such as /app, /secured, /restricted, etc and then map the filter on an URL pattern of /app/*, /secured/*, /restricted/*, etc instead. If you keep the login page outside this folder, then the filter won’t be invoked when the login page is been requested.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want implement in my software solution an VBA editor but in c# 3.0.
I just wrote a simple DirectShow Filter (which inherits from CTransformFilter). But I want
I want to implement filter function that would filter a list based on a
Okey so I want to implement a Collaborative Filter algorithm in Java, similar to
I want to implement search bar in my application which will filter list view
I want to implement form based authentication in struts2. My directory structure is :
I want to implement this in Silverlight. Combobox with an inline filter in the
Now i want to make filter but i really don't know how to do
If I implement a Filter that before the request is processed it prints to
i want to implement google cloud messaging service CCM. but i am getting forced

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.