Class CookieRequestCache

java.lang.Object
org.springframework.security.web.savedrequest.CookieRequestCache
All Implemented Interfaces:
RequestCache

public class CookieRequestCache extends Object implements RequestCache
An Implementation of RequestCache which saves the original request URI in a cookie.
Since:
5.4
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final org.apache.commons.logging.Log
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    jakarta.servlet.http.HttpServletRequest
    getMatchingRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
    Returns a wrapper around the saved request, if it matches the current request.
    getRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
    Returns the saved request, leaving it cached.
    void
    removeRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
    Removes the cached request.
    void
    saveRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
    Caches the current request for later retrieval, once authentication has taken place.
    void
    Allows selective use of saved requests for a subset of requests.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • logger

      protected final org.apache.commons.logging.Log logger
  • Constructor Details

    • CookieRequestCache

      public CookieRequestCache()
  • Method Details

    • saveRequest

      public void saveRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      Description copied from interface: RequestCache
      Caches the current request for later retrieval, once authentication has taken place. Used by ExceptionTranslationFilter.
      Specified by:
      saveRequest in interface RequestCache
      Parameters:
      request - the request to be stored
    • getRequest

      public SavedRequest getRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      Description copied from interface: RequestCache
      Returns the saved request, leaving it cached.
      Specified by:
      getRequest in interface RequestCache
      Parameters:
      request - the current request
      Returns:
      the saved request which was previously cached, or null if there is none.
    • getMatchingRequest

      public jakarta.servlet.http.HttpServletRequest getMatchingRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      Description copied from interface: RequestCache
      Returns a wrapper around the saved request, if it matches the current request. The saved request should be removed from the cache.
      Specified by:
      getMatchingRequest in interface RequestCache
      Returns:
      the wrapped save request, if it matches the original, or null if there is no cached request or it doesn't match.
    • removeRequest

      public void removeRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
      Description copied from interface: RequestCache
      Removes the cached request.
      Specified by:
      removeRequest in interface RequestCache
      Parameters:
      request - the current request, allowing access to the cache.
    • setRequestMatcher

      public void setRequestMatcher(RequestMatcher requestMatcher)
      Allows selective use of saved requests for a subset of requests. By default any request will be cached by the saveRequest method.

      If set, only matching requests will be cached.

      Parameters:
      requestMatcher - a request matching strategy which defines which requests should be cached.