Example usage for org.springframework.security.web.context HttpRequestResponseHolder setRequest

List of usage examples for org.springframework.security.web.context HttpRequestResponseHolder setRequest

Introduction

In this page you can find the example usage for org.springframework.security.web.context HttpRequestResponseHolder setRequest.

Prototype

public void setRequest(HttpServletRequest request) 

Source Link

Usage

From source file:org.springframework.security.web.context.HttpSessionSecurityContextRepository.java

/**
 * Gets the security context for the current request (if available) and returns it.
 * <p>/*from   w  w w .  jav  a2s . c om*/
 * If the session is null, the context object is null or the context object stored in
 * the session is not an instance of {@code SecurityContext}, a new context object
 * will be generated and returned.
 */
public SecurityContext loadContext(HttpRequestResponseHolder requestResponseHolder) {
    HttpServletRequest request = requestResponseHolder.getRequest();
    HttpServletResponse response = requestResponseHolder.getResponse();
    HttpSession httpSession = request.getSession(false);

    SecurityContext context = readSecurityContextFromSession(httpSession);

    if (context == null) {
        if (logger.isDebugEnabled()) {
            logger.debug("No SecurityContext was available from the HttpSession: " + httpSession + ". "
                    + "A new one will be created.");
        }
        context = generateNewContext();

    }

    SaveToSessionResponseWrapper wrappedResponse = new SaveToSessionResponseWrapper(response, request,
            httpSession != null, context);
    requestResponseHolder.setResponse(wrappedResponse);

    requestResponseHolder.setRequest(new SaveToSessionRequestWrapper(request, wrappedResponse));

    return context;
}