Example usage for org.springframework.security.web SecurityFilterChain getFilters

List of usage examples for org.springframework.security.web SecurityFilterChain getFilters

Introduction

In this page you can find the example usage for org.springframework.security.web SecurityFilterChain getFilters.

Prototype

List<Filter> getFilters();

Source Link

Usage

From source file:shiver.me.timbers.spring.security.modification.SecurityFilterChainModifier.java

@Override
@SuppressWarnings("unchecked")
public <F extends Filter> void modifyLink(SecurityFilterChain filterChain, Class<F> filterType,
        Modifier<F> modifier) {
    for (Filter filter : filterChain.getFilters()) {
        if (filterType.isAssignableFrom(filter.getClass())) {
            modifier.modify((F) filter);
        }/*from  w w  w  . j a v a2s. c om*/
    }
}

From source file:shiver.me.timbers.spring.security.modification.SecurityFilterChainModifier.java

@Override
public void addBefore(SecurityFilterChain filterChain, Class<? extends Filter> filterClass, Filter filter) {
    final List<Filter> filters = filterChain.getFilters();
    final int index = findFirstIndexOf(filterClass, filters);
    if (index >= 0) {
        filters.add(index, filter);/*  w  w  w  . j  av  a  2s.  c o m*/
    }
}

From source file:shiver.me.timbers.spring.security.modification.SecurityFilterChainModifierTest.java

@Test
public void Can_modify_a_filter() {

    @SuppressWarnings("unchecked")
    final Modifier<FilterTwo> modifier = mock(Modifier.class);

    final SecurityFilterChain chain = mock(SecurityFilterChain.class);
    final FilterTwo filter1 = mock(FilterTwo.class);

    // Given/*from   w w  w .jav  a 2 s . c  om*/
    given(chain.getFilters()).willReturn(asList(mock(FilterOne.class), filter1, mock(FilterThree.class)));

    // When
    configurer.modifyLink(chain, FilterTwo.class, modifier);

    // Then
    verify(modifier).modify(filter1);
}

From source file:grails.plugin.springsecurity.web.filter.DebugFilter.java

protected List<Filter> getFilters(HttpServletRequest request) {
    for (SecurityFilterChain chain : filterChainProxy.getFilterChains()) {
        if (chain.matches(request)) {
            return chain.getFilters();
        }// w  w  w.j a v  a  2 s.c om
    }

    return null;
}

From source file:shiver.me.timbers.spring.security.modification.SecurityFilterChainModifierTest.java

@Test
public void Can_not_add_a_filter_before_a_filter_that_does_not_exist() {

    final FilterTwo filterTwo = mock(FilterTwo.class);

    final FilterOne filterOne = mock(FilterOne.class);
    final FilterThree filterThree = mock(FilterThree.class);
    final FilterFour filterFour = mock(FilterFour.class);

    final SecurityFilterChain chain = mock(SecurityFilterChain.class);
    final List<Filter> filters = new ArrayList<>(asList(filterOne, filterFour));

    // Given/*from  w w  w  . j a  va2  s  .c o m*/
    given(chain.getFilters()).willReturn(filters);

    // When
    configurer.addBefore(chain, FilterThree.class, filterTwo);

    // Then
    assertThat(filters, contains(filterOne, filterFour));
}

From source file:shiver.me.timbers.spring.security.modification.SecurityFilterChainModifierTest.java

@Test
public void Can_add_a_filter_before_another() {

    final FilterTwo filterTwo = mock(FilterTwo.class);

    final FilterOne filterOne = mock(FilterOne.class);
    final FilterThree filterThree = mock(FilterThree.class);
    final FilterFour filterFour = mock(FilterFour.class);

    final SecurityFilterChain chain = mock(SecurityFilterChain.class);
    final List<Filter> filters = new ArrayList<>(asList(filterOne, filterThree, filterFour, filterThree));

    // Given/* w  w  w . ja v a2 s .  c  o  m*/
    given(chain.getFilters()).willReturn(filters);

    // When
    configurer.addBefore(chain, FilterThree.class, filterTwo);

    // Then
    assertThat(filters, contains(filterOne, filterTwo, filterThree, filterFour, filterThree));
}

From source file:org.cloudfoundry.identity.uaa.security.web.SecurityFilterChainPostProcessor.java

@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
    if (bean instanceof SecurityFilterChain && !ignore.contains(beanName)) {
        logger.info("Processing security filter chain " + beanName);

        SecurityFilterChain fc = (SecurityFilterChain) bean;

        Filter uaaFilter = new HttpsEnforcementFilter(beanName, redirectToHttps.contains(beanName));
        fc.getFilters().add(0, uaaFilter);
        if (additionalFilters != null) {
            for (Entry<FilterPosition, Filter> entry : additionalFilters.entrySet()) {
                int position = entry.getKey().getPosition(fc);
                if (position > fc.getFilters().size()) {
                    fc.getFilters().add(entry.getValue());
                } else {
                    fc.getFilters().add(position, entry.getValue());
                }/*from   w  w w . j  a v a  2  s .  c o  m*/
            }
        }
    }

    return bean;
}

From source file:org.springframework.security.config.annotation.web.builders.DebugFilter.java

private List<Filter> getFilters(HttpServletRequest request) {
    for (SecurityFilterChain chain : fcp.getFilterChains()) {
        if (chain.matches(request)) {
            return chain.getFilters();
        }/*from w  w  w.  ja  va  2s .co  m*/
    }

    return null;
}

From source file:org.springframework.security.config.http.DefaultFilterChainValidator.java

public void validate(FilterChainProxy fcp) {
    for (SecurityFilterChain filterChain : fcp.getFilterChains()) {
        checkLoginPageIsntProtected(fcp, filterChain.getFilters());
        checkFilterStack(filterChain.getFilters());
    }//from  ww  w . j a v a 2 s .co m

    checkPathOrder(new ArrayList<>(fcp.getFilterChains()));
    checkForDuplicateMatchers(new ArrayList<>(fcp.getFilterChains()));
}