Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-74339

Filter chain cache is not aware of a request's changing query string

    Details

      Description

      Steps to Reproduce

      1. For Master, deploy attached JAR. For 6.2.x, deploy attached WAR. Its URL regular expression pattern is

      .+/.*test=.*

      2. Go to http://localhost:8080/web/guest/home?test=asdf (Make sure that you have not previously visited the friendly URL /web/guest/home otherwise it will throw off this test)
      3. Assert the following in the logs

      ERROR [http-nio-8080-exec-1][UrlRegexFilter:53] Inside of the URL Regex Filter

      4. Go to http://localhost:8080/web/guest/home
      5. Assert the same message in the logs, despite the current URL not matching the regular expression

      Note that LPS-73515 is required for testing this issue.

      This happens because the invoker filter cache does not take into account the query string. However, the query string is checked against the regular expression within the filter mapping.

      We either need to not cache requests with query strings or not match the query string with the regular expression.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Days since last comment:
                  1 year, 17 weeks, 4 days ago