Example usage for org.springframework.security.web FilterInvocation getHttpRequest

List of usage examples for org.springframework.security.web FilterInvocation getHttpRequest

Introduction

In this page you can find the example usage for org.springframework.security.web FilterInvocation getHttpRequest.

Prototype

public HttpServletRequest getHttpRequest() 

Source Link

Usage

From source file:es.osoco.grails.plugins.otp.access.InterceptUrlMapMultipleVoterFilterInvocationDefinition.java

@Override
protected String determineUrl(final FilterInvocation filterInvocation) {
    HttpServletRequest request = filterInvocation.getHttpRequest();
    String requestUrl = request.getRequestURI().substring(request.getContextPath().length());
    return lowercaseAndStripQuerystring(requestUrl);
}

From source file:eu.eidas.sp.metadata.MetadataDisplayFilter.java

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {
    FilterInvocation fi = new FilterInvocation(request, response, chain);
    processMetadataDisplay(fi.getHttpRequest(), fi.getHttpResponse());
}

From source file:com.wooki.services.security.spring.TapestryResourceVoter.java

public int vote(Authentication authentication, Object object, Collection<ConfigAttribute> attributes) {
    // Use Tapestry services to analyze the URL
    FilterInvocation fi = FilterInvocation.class.cast(object);
    if (tapestryRegistry == null) {
        initTapestry(fi.getHttpRequest().getSession().getServletContext());
    }/*w w w .  j a va 2 s  .  c  o  m*/
    RequestImpl request = new RequestImpl(fi.getHttpRequest(), applicationCharset, spoa);
    globals.storeRequestResponse(request, null);

    // Secure Render request
    PageRenderRequestParameters params = this.encoder.decodePageRenderRequest(request);
    if (params != null) {
        String logicalPageName = params.getLogicalPageName();
        if (this.ac.containsKey(logicalPageName)) {
            return this.ac.get(logicalPageName).isViewAuthorized(params) ? ACCESS_GRANTED : ACCESS_DENIED;
        }
    }

    // Secure action request
    ComponentEventRequestParameters actionParams = this.encoder.decodeComponentEventRequest(request);
    if (actionParams != null) {
        String logicalPageName = actionParams.getContainingPageName();
        if (this.ac.containsKey(logicalPageName)) {
            return this.ac.get(logicalPageName).isActionAuthorized(actionParams) ? ACCESS_GRANTED
                    : ACCESS_DENIED;
        }
    }

    return ACCESS_GRANTED;
}

From source file:org.wallride.support.ProxySecureChannelProcessor.java

@Override
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config)
        throws IOException, ServletException {
    Assert.isTrue((invocation != null) && (config != null), "Nulls cannot be provided");

    String forwardedProto = invocation.getHttpRequest().getHeader("X-Forwarded-Proto");
    for (ConfigAttribute attribute : config) {
        if (supports(attribute)) {
            if (forwardedProto != null) {
                if (!forwardedProto.equals("https")) {
                    getEntryPoint().commence(invocation.getRequest(), invocation.getResponse());
                }/*from w w w.j  av  a2 s.co  m*/
            } else {
                if (!invocation.getHttpRequest().isSecure()) {
                    getEntryPoint().commence(invocation.getRequest(), invocation.getResponse());
                }
            }
        }
    }
}

From source file:org.wallride.support.ProxyInsecureChannelProcessor.java

@Override
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config)
        throws IOException, ServletException {
    if ((invocation == null) || (config == null)) {
        throw new IllegalArgumentException("Nulls cannot be provided");
    }/*from w w w .  j  a  va2  s .  co  m*/

    String forwardedProto = invocation.getHttpRequest().getHeader("X-Forwarded-Proto");
    for (ConfigAttribute attribute : config) {
        if (supports(attribute)) {
            if (forwardedProto != null) {
                if (forwardedProto.equals("https")) {
                    getEntryPoint().commence(invocation.getRequest(), invocation.getResponse());
                }
            } else {
                if (invocation.getHttpRequest().isSecure()) {
                    getEntryPoint().commence(invocation.getRequest(), invocation.getResponse());
                }
            }
        }
    }
}

From source file:grails.plugin.springsecurity.web.access.intercept.AbstractFilterInvocationDefinition.java

protected String determineUrl(final FilterInvocation filterInvocation) {
    return lowercaseAndStripQuerystring(calculateUri(filterInvocation.getHttpRequest()));
}

From source file:nanshen.service.impl.SpringSecureChannelProcessor.java

@Override
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config)
        throws IOException, ServletException {
    Assert.isTrue((invocation != null) && (config != null), "Nulls cannot be provided");

    for (ConfigAttribute attribute : config) {
        if (supports(attribute)) {
            HttpServletRequest httpRequest = invocation.getHttpRequest();
            if (!httpRequest.isSecure() && StringUtils.isBlank(httpRequest.getHeader("HTTPS"))) {
                getEntryPoint().commence(invocation.getRequest(), invocation.getResponse());
            }//from  ww  w.ja va2 s.  c  om
        }
    }
}

From source file:grails.plugin.springsecurity.web.access.channel.HeaderCheckInsecureChannelProcessor.java

@Override
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config)
        throws IOException, ServletException {

    Assert.isTrue(invocation != null && config != null, "Nulls cannot be provided");

    for (ConfigAttribute attribute : config) {
        if (supports(attribute)) {
            if (headerValue.equals(invocation.getHttpRequest().getHeader(headerName))) {
                getEntryPoint().commence(invocation.getRequest(), invocation.getResponse());
            }//from   w  w w. ja v  a2  s .com
        }
    }
}

From source file:es.osoco.grails.plugins.otp.access.AnnotationMultipleVoterFilterInvocationDefinition.java

@Override
protected String determineUrl(final FilterInvocation filterInvocation) {
    HttpServletRequest request = filterInvocation.getHttpRequest();
    HttpServletResponse response = filterInvocation.getHttpResponse();

    GrailsWebRequest existingRequest = WebUtils.retrieveGrailsWebRequest();

    String requestUrl = request.getRequestURI().substring(request.getContextPath().length());

    String url = null;//from   w  w w .  j ava  2  s.c om
    try {
        GrailsWebRequest grailsRequest = new GrailsWebRequest(request, response,
                ServletContextHolder.getServletContext());
        WebUtils.storeGrailsWebRequest(grailsRequest);

        Map<String, Object> savedParams = copyParams(grailsRequest);

        for (UrlMappingInfo mapping : _urlMappingsHolder.matchAll(requestUrl)) {
            configureMapping(mapping, grailsRequest, savedParams);

            url = findGrailsUrl(mapping);
            if (url != null) {
                break;
            }
        }
    } finally {
        if (existingRequest == null) {
            WebUtils.clearGrailsWebRequest();
        } else {
            WebUtils.storeGrailsWebRequest(existingRequest);
        }
    }

    if (!StringUtils.hasLength(url)) {
        // probably css/js/image
        url = requestUrl;
    }

    return lowercaseAndStripQuerystring(url);
}

From source file:com.sun.identity.provider.springsecurity.OpenSSOObjectDefinitionSource.java

/**
 * @inheritDoc/*w ww.  ja va 2s. c o m*/
 */
public Collection<ConfigAttribute> getAttributes(Object object) throws IllegalArgumentException {
    FilterInvocation filterInvocation = (FilterInvocation) object;
    HttpServletRequest request = filterInvocation.getRequest();
    if (isAnonymousUrl(request)) {
        return null;
    }

    SSOToken token = OpenSSOProcessingFilter.getToken(filterInvocation.getHttpRequest());
    if (token == null) {
        throw new InsufficientAuthenticationException("SSOToken does not exist");
    }

    Set actions = new HashSet();
    actions.add(filterInvocation.getHttpRequest().getMethod());
    String fullResourceUrl = filterInvocation.getFullRequestUrl();

    try {
        PolicyEvaluator policyEvaluator = PolicyEvaluatorFactory.getInstance()
                .getPolicyEvaluator("iPlanetAMWebAgentService");
        if (debug.messageEnabled()) {
            debug.message("getPolicy for resource=" + fullResourceUrl + " actions=" + actions);
        }
        PolicyDecision policyDecision = policyEvaluator.getPolicyDecision(token, fullResourceUrl, actions,
                envParams);
        Map actionDecisions = policyDecision.getActionDecisions();
        if (debug.messageEnabled()) {
            debug.message("action decisions =" + actionDecisions);
        }

        // If OpenSSO has a NULL policy decision we return
        // and Empty list. This results in a Spring "ABSTAIN" vote
        if (actionDecisions == null || actionDecisions.isEmpty()) {
            return Collections.emptyList();
        } else {
            ActionDecision actionDecision = (ActionDecision) actionDecisions.values().iterator().next();
            List<ConfigAttribute> configAtributes = new ArrayList<ConfigAttribute>();
            for (Iterator it = actionDecision.getValues().iterator(); it.hasNext();) {
                String s = (String) it.next();
                debug.message("configAttributes.add(" + s);
                configAtributes.add(new SecurityConfig(s));
            }
            return configAtributes;
        }
    } catch (Exception e) {
        debug.error("Exception while evaling policy", e);
        throw new AccessDeniedException("Error accessing to Opensso", e);
    }
}