Example usage for org.springframework.security.web.savedrequest DefaultSavedRequest DefaultSavedRequest

List of usage examples for org.springframework.security.web.savedrequest DefaultSavedRequest DefaultSavedRequest

Introduction

In this page you can find the example usage for org.springframework.security.web.savedrequest DefaultSavedRequest DefaultSavedRequest.

Prototype

@SuppressWarnings("unchecked")
    public DefaultSavedRequest(HttpServletRequest request, PortResolver portResolver) 

Source Link

Usage

From source file:org.lightadmin.core.web.security.LightAdminRequestCache.java

@Override
public void saveRequest(HttpServletRequest request, HttpServletResponse response) {
    DefaultSavedRequest savedRequest = new DefaultSavedRequest(request, portResolver);
    request.getSession().setAttribute(savedRequestKey, savedRequest);
    logger.debug("DefaultSavedRequest added to Session: " + savedRequest);
}

From source file:com.erudika.para.security.SimpleRequestCache.java

/**
 * Saves a request in cache./* w ww  .j a v a  2  s.c  om*/
 * @param request HTTP request
 * @param response HTTP response
 */
@Override
public void saveRequest(HttpServletRequest request, HttpServletResponse response) {
    if (anyRequestMatcher.matches(request) && !ajaxRequestMatcher.matches(request)) {
        DefaultSavedRequest savedRequest = new DefaultSavedRequest(request, portResolver);
        Utils.setStateParam(Config.RETURNTO_COOKIE, Utils.base64enc(savedRequest.getRedirectUrl().getBytes()),
                request, response);
    }
}

From source file:org.codehaus.groovy.grails.plugins.springsecurity.AjaxAwareAccessDeniedHandler.java

/**
 * {@inheritDoc}// w w w .ja va2 s .  co m
 * @see org.springframework.security.web.access.AccessDeniedHandler#handle(
 *    javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
 *    org.springframework.security.access.AccessDeniedException)
 */
public void handle(final HttpServletRequest request, final HttpServletResponse response,
        final AccessDeniedException e) throws IOException, ServletException {

    if (e != null && isLoggedIn() && authenticationTrustResolver.isRememberMe(getAuthentication())) {
        // user has a cookie but is getting bounced because of IS_AUTHENTICATED_FULLY,
        // so Acegi won't save the original request
        request.getSession().setAttribute(WebAttributes.SAVED_REQUEST,
                new DefaultSavedRequest(request, portResolver));
    }

    if (response.isCommitted()) {
        return;
    }

    boolean ajaxError = ajaxErrorPage != null && SpringSecurityUtils.isAjax(request);
    if (errorPage == null && !ajaxError) {
        response.sendError(HttpServletResponse.SC_FORBIDDEN, e.getMessage());
        return;
    }

    boolean includePort = true;
    String scheme = request.getScheme();
    String serverName = request.getServerName();
    int serverPort = portResolver.getServerPort(request);
    String contextPath = request.getContextPath();
    boolean inHttp = "http".equals(scheme.toLowerCase());
    boolean inHttps = "https".equals(scheme.toLowerCase());

    if (inHttp && (serverPort == 80)) {
        includePort = false;
    } else if (inHttps && (serverPort == 443)) {
        includePort = false;
    }

    String redirectUrl = scheme + "://" + serverName + ((includePort) ? (":" + serverPort) : "") + contextPath;
    if (ajaxError) {
        redirectUrl += ajaxErrorPage;
    } else if (errorPage != null) {
        redirectUrl += errorPage;
    }
    response.sendRedirect(response.encodeRedirectURL(redirectUrl));
}

From source file:com.epam.cme.storefront.security.impl.WebHttpSessionRequestCache.java

@Override
public void saveRequest(final HttpServletRequest request, final HttpServletResponse response) {
    // this might be called while in ExceptionTranslationFilter#handleSpringSecurityException in
    // this case base implementation
    if (SecurityContextHolder.getContext().getAuthentication() == null) {
        super.saveRequest(request, response);
    } else {/*from  www.j  a  v a 2 s.  com*/
        final SavedRequest savedBefore = getRequest(request, response);
        if (savedBefore != null)// to not override request saved by
                                // ExceptionTranslationFilter#handleSpringSecurityException
        {
            return;
        }

        if (getRequestMatcher().matches(request)) {
            final DefaultSavedRequest savedRequest = new DefaultSavedRequest(request, getPortResolver()) {
                private final String referer = request.getHeader(REFERER);
                private final String contextPath = request.getContextPath();

                @Override
                public String getRedirectUrl() {
                    return calculateRelativeRedirectUrl(contextPath, referer);
                }
            };

            if (isCreateSessionAllowed() || request.getSession(false) != null) {
                request.getSession().setAttribute(SAVED_REQUEST, savedRequest);
                logger.debug("DefaultSavedRequest added to Session: " + savedRequest);
            }
        } else {
            logger.debug("Request not saved as configured RequestMatcher did not match");
        }
    }
}

From source file:com.acc.storefront.security.impl.WebHttpSessionRequestCache.java

@Override
public void saveRequest(final HttpServletRequest request, final HttpServletResponse response) {
    //this might be called while in ExceptionTranslationFilter#handleSpringSecurityException in this case base implementation
    if (SecurityContextHolder.getContext().getAuthentication() == null) {
        super.saveRequest(request, response);
    } else {/*w ww.ja  v a  2  s . co m*/
        final SavedRequest savedBefore = getRequest(request, response);
        if (savedBefore != null)//to not override request saved by ExceptionTranslationFilter#handleSpringSecurityException
        {
            return;
        }

        if (getRequestMatcher().matches(request)) {
            final DefaultSavedRequest savedRequest = new DefaultSavedRequest(request, getPortResolver()) {
                private final String referer = request.getHeader(REFERER);
                private final String contextPath = request.getContextPath();

                @Override
                public String getRedirectUrl() {
                    return calculateRelativeRedirectUrl(contextPath, referer);
                }
            };

            if (isCreateSessionAllowed() || request.getSession(false) != null) {
                request.getSession().setAttribute(SAVED_REQUEST, savedRequest);
                logger.debug("DefaultSavedRequest added to Session: " + savedRequest);
            }
        } else {
            logger.debug("Request not saved as configured RequestMatcher did not match");
        }
    }
}

From source file:com.javaforge.tapestry.acegi.filter.ExceptionTranslationFilter.java

protected void sendStartAuthentication(AuthenticationException reason) throws ServletException, IOException {
    SavedRequest savedRequest = new DefaultSavedRequest(request, portResolver);

    if (getLog().isDebugEnabled()) {
        getLog().debug(//from   ww w .j a v a  2  s . c  om
                "Authentication entry point being called; SavedRequest added to Session: " + savedRequest);
    }

    if (createSessionAllowed) {
        // Store the HTTP request itself. Used by AbstractProcessingFilter
        // for redirection after successful authentication (SEC-29)
        request.getSession().setAttribute(WebAttributes.SAVED_REQUEST, savedRequest);
    }

    // SEC-112: Clear the SecurityContextHolder's Authentication, as the
    // existing Authentication is no longer considered valid
    SecurityContextHolder.getContext().setAuthentication(null);

    authenticationEntryPoint.commence(request, response, reason);
}

From source file:org.springframework.security.oauth.consumer.filter.OAuthConsumerContextFilter.java

/**
 * Get the callback URL for the specified request.
 *
 * @param request The request.//from ww w.j av a2s.  co m
 * @return The callback URL.
 */
protected String getCallbackURL(HttpServletRequest request) {
    return new DefaultSavedRequest(request, getPortResolver()).getRedirectUrl();
}

From source file:org.springframework.security.web.savedrequest.HttpSessionRequestCache.java

/**
 * Stores the current request, provided the configuration properties allow it.
 *//*from ww w. j a va 2s  .  c o  m*/
public void saveRequest(HttpServletRequest request, HttpServletResponse response) {
    if (requestMatcher.matches(request)) {
        DefaultSavedRequest savedRequest = new DefaultSavedRequest(request, portResolver);

        if (createSessionAllowed || request.getSession(false) != null) {
            // Store the HTTP request itself. Used by
            // AbstractAuthenticationProcessingFilter
            // for redirection after successful authentication (SEC-29)
            request.getSession().setAttribute(this.sessionAttrName, savedRequest);
            logger.debug("DefaultSavedRequest added to Session: " + savedRequest);
        }
    } else {
        logger.debug("Request not saved as configured RequestMatcher did not match");
    }
}