List of usage examples for org.springframework.security.web SecurityFilterChain getFilters
List<Filter> getFilters();
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())); }