Example usage for org.springframework.security.web.savedrequest SavedRequest getRedirectUrl

List of usage examples for org.springframework.security.web.savedrequest SavedRequest getRedirectUrl

Introduction

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

Prototype

String getRedirectUrl();

Source Link

Usage

From source file:org.orcid.frontend.web.controllers.RegistrationController.java

private String calculateRedirectUrl(HttpServletRequest request, HttpServletResponse response) {
    SavedRequest savedRequest = new HttpSessionRequestCache().getRequest(request, response);
    if (savedRequest != null) {
        String savedUrl = savedRequest.getRedirectUrl();
        if (savedUrl != null) {
            try {
                String path = new URL(savedUrl).getPath();
                if (path != null && path.contains("/oauth/")) {
                    // This redirect url is OK
                    return savedUrl;
                }/*  ww  w. j  a  va 2 s.  c  o  m*/
            } catch (MalformedURLException e) {
                LOGGER.debug("Malformed saved redirect url: {}", savedUrl);
            }
        }
    }
    return getBaseUri() + "/my-orcid";
}

From source file:org.orcid.frontend.web.controllers.RegistrationController.java

@RequestMapping(value = "/register", method = RequestMethod.GET)
public ModelAndView register(HttpServletRequest request, HttpServletResponse response) {
    ModelAndView mav = new ModelAndView("register");
    SavedRequest savedRequest = new HttpSessionRequestCache().getRequest(request, response);
    LOGGER.debug("Saved url before registration is: "
            + (savedRequest != null ? savedRequest.getRedirectUrl() : " no saved request"));
    return mav;/*  w w  w  .ja v  a 2 s .c o  m*/
}

From source file:org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler.java

@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
        Authentication authentication) throws ServletException, IOException {
    SavedRequest savedRequest = requestCache.getRequest(request, response);

    if (savedRequest == null) {
        super.onAuthenticationSuccess(request, response, authentication);

        return;// w w w .  ja v  a2  s.  c  o m
    }
    String targetUrlParameter = getTargetUrlParameter();
    if (isAlwaysUseDefaultTargetUrl()
            || (targetUrlParameter != null && StringUtils.hasText(request.getParameter(targetUrlParameter)))) {
        requestCache.removeRequest(request, response);
        super.onAuthenticationSuccess(request, response, authentication);

        return;
    }

    clearAuthenticationAttributes(request);

    // Use the DefaultSavedRequest URL
    String targetUrl = savedRequest.getRedirectUrl();
    logger.debug("Redirecting to DefaultSavedRequest Url: " + targetUrl);
    getRedirectStrategy().sendRedirect(request, response, targetUrl);
}

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

private boolean matchesSavedRequest(HttpServletRequest request, SavedRequest savedRequest) {
    if (savedRequest == null) {
        return false;
    }/* w ww.j a  v  a2  s .  c  o  m*/

    if (savedRequest instanceof DefaultSavedRequest) {
        DefaultSavedRequest defaultSavedRequest = (DefaultSavedRequest) savedRequest;
        return defaultSavedRequest.doesRequestMatch(request, this.portResolver);
    }

    String currentUrl = UrlUtils.buildFullRequestUrl(request);
    return savedRequest.getRedirectUrl().equals(currentUrl);
}

From source file:org.unitime.timetable.spring.security.UniTimeAuthenticationSuccessHandler.java

@Override
protected String determineTargetUrl(HttpServletRequest request, HttpServletResponse response) {
    if (isAlwaysUseDefaultTargetUrl())
        return getDefaultTargetUrl();

    String targetUrl = null;/*from  w  ww.  j  a v  a2  s  . c o  m*/

    if (getTargetUrlParameter() != null) {
        targetUrl = request.getParameter(getTargetUrlParameter());
    }

    SavedRequest savedRequest = requestCache.getRequest(request, response);
    if (savedRequest != null && !StringUtils.hasText(targetUrl)) {
        targetUrl = savedRequest.getRedirectUrl();
    }

    if (useReferer && !StringUtils.hasText(targetUrl)) {
        targetUrl = request.getHeader("Referer");
    }

    if (StringUtils.hasText(targetUrl)) {
        try {
            request.setAttribute("target", targetUrl);
            return getDefaultTargetUrl() + "?" + getTargetUrlParameter() + "="
                    + URLEncoder.encode(targetUrl, "UTF-8");
        } catch (Exception e) {
        }
    }

    return getDefaultTargetUrl();
}