Class HttpSessionRequestCache
java.lang.Object
org.springframework.security.web.savedrequest.HttpSessionRequestCache
- All Implemented Interfaces:
 RequestCache
RequestCache which stores the SavedRequest in the HttpSession.
 The DefaultSavedRequest class is used as the implementation.- Since:
 - 3.0
 
- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionjakarta.servlet.http.HttpServletRequestgetMatchingRequest(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 currentRequest, jakarta.servlet.http.HttpServletResponse response) Returns the saved request, leaving it cached.voidremoveRequest(jakarta.servlet.http.HttpServletRequest currentRequest, jakarta.servlet.http.HttpServletResponse response) Removes the cached request.voidsaveRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Stores the current request, provided the configuration properties allow it.voidsetCreateSessionAllowed(boolean createSessionAllowed) Iftrue, indicates that it is permitted to store the target URL and exception information in a newHttpSession(the default).voidsetMatchingRequestParameterName(String matchingRequestParameterName) Specify the name of a query parameter that is added to the URL that specifies the request cache should be checked ingetMatchingRequest(HttpServletRequest, HttpServletResponse)voidsetPortResolver(PortResolver portResolver) voidsetRequestMatcher(RequestMatcher requestMatcher) Allows selective use of saved requests for a subset of requests.voidsetSessionAttrName(String sessionAttrName) If thesessionAttrNameproperty is set, the request is stored in the session using this attribute name. 
- 
Field Details
- 
logger
protected final org.apache.commons.logging.Log logger 
 - 
 - 
Constructor Details
- 
HttpSessionRequestCache
public HttpSessionRequestCache() 
 - 
 - 
Method Details
- 
saveRequest
public void saveRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Stores the current request, provided the configuration properties allow it.- Specified by:
 saveRequestin interfaceRequestCache- Parameters:
 request- the request to be stored
 - 
getRequest
public SavedRequest getRequest(jakarta.servlet.http.HttpServletRequest currentRequest, jakarta.servlet.http.HttpServletResponse response) Description copied from interface:RequestCacheReturns the saved request, leaving it cached.- Specified by:
 getRequestin interfaceRequestCache- Parameters:
 currentRequest- the current request- Returns:
 - the saved request which was previously cached, or null if there is none.
 
 - 
removeRequest
public void removeRequest(jakarta.servlet.http.HttpServletRequest currentRequest, jakarta.servlet.http.HttpServletResponse response) Description copied from interface:RequestCacheRemoves the cached request.- Specified by:
 removeRequestin interfaceRequestCache- Parameters:
 currentRequest- the current request, allowing access to the cache.
 - 
getMatchingRequest
public jakarta.servlet.http.HttpServletRequest getMatchingRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) Description copied from interface:RequestCacheReturns a wrapper around the saved request, if it matches the current request. The saved request should be removed from the cache.- Specified by:
 getMatchingRequestin interfaceRequestCache- Returns:
 - the wrapped save request, if it matches the original, or null if there is no cached request or it doesn't match.
 
 - 
setRequestMatcher
Allows selective use of saved requests for a subset of requests. By default any request will be cached by thesaveRequestmethod.If set, only matching requests will be cached.
- Parameters:
 requestMatcher- a request matching strategy which defines which requests should be cached.
 - 
setCreateSessionAllowed
public void setCreateSessionAllowed(boolean createSessionAllowed) Iftrue, indicates that it is permitted to store the target URL and exception information in a newHttpSession(the default). In situations where you do not wish to unnecessarily createHttpSessions - because the user agent will know the failed URL, such as with BASIC or Digest authentication - you may wish to set this property tofalse. - 
setPortResolver
 - 
setSessionAttrName
If thesessionAttrNameproperty is set, the request is stored in the session using this attribute name. Default is "SPRING_SECURITY_SAVED_REQUEST".- Parameters:
 sessionAttrName- a new session attribute name.- Since:
 - 4.2.1
 
 - 
setMatchingRequestParameterName
Specify the name of a query parameter that is added to the URL that specifies the request cache should be checked ingetMatchingRequest(HttpServletRequest, HttpServletResponse)- Parameters:
 matchingRequestParameterName- the parameter name that must be in the request forgetMatchingRequest(HttpServletRequest, HttpServletResponse)to check the session. Default is "continue".
 
 -