Class HttpSessionRequestCache
- java.lang.Object
-
- org.springframework.security.web.savedrequest.HttpSessionRequestCache
-
- All Implemented Interfaces:
RequestCache
public class HttpSessionRequestCache extends java.lang.Object implements RequestCache
RequestCachewhich stores theSavedRequestin the HttpSession. TheDefaultSavedRequestclass is used as the implementation.- Since:
- 3.0
-
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.logging.Loglogger
-
Constructor Summary
Constructors Constructor Description HttpSessionRequestCache()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.servlet.http.HttpServletRequestgetMatchingRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)Returns a wrapper around the saved request, if it matches the current request.SavedRequestgetRequest(javax.servlet.http.HttpServletRequest currentRequest, javax.servlet.http.HttpServletResponse response)Returns the saved request, leaving it cached.voidremoveRequest(javax.servlet.http.HttpServletRequest currentRequest, javax.servlet.http.HttpServletResponse response)Removes the cached request.voidsaveRequest(javax.servlet.http.HttpServletRequest request, javax.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).voidsetPortResolver(PortResolver portResolver)voidsetRequestMatcher(RequestMatcher requestMatcher)Allows selective use of saved requests for a subset of requests.voidsetSessionAttrName(java.lang.String sessionAttrName)If thesessionAttrNameproperty is set, the request is stored in the session using this attribute name.
-
-
-
Method Detail
-
saveRequest
public void saveRequest(javax.servlet.http.HttpServletRequest request, javax.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(javax.servlet.http.HttpServletRequest currentRequest, javax.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(javax.servlet.http.HttpServletRequest currentRequest, javax.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 javax.servlet.http.HttpServletRequest getMatchingRequest(javax.servlet.http.HttpServletRequest request, javax.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
public void setRequestMatcher(RequestMatcher requestMatcher)
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
public void setPortResolver(PortResolver portResolver)
-
setSessionAttrName
public void setSessionAttrName(java.lang.String sessionAttrName)
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
-
-