List of usage examples for org.apache.shiro.web.servlet AbstractShiroFilter setFilterChainResolver
public void setFilterChainResolver(FilterChainResolver filterChainResolver)
From source file:com.stormpath.shiro.spring.boot.autoconfigure.StormpathShiroWebAutoConfiguration.java
License:Apache License
@Bean public ShiroPrioritizedFilterChainResolver shiroPrioritizedFilterChainResolver( @Qualifier("filterShiroFilterRegistrationBean") FilterRegistrationBean filterShiroFilterRegistrationBean, @Qualifier("stormpathFilter") FilterRegistrationBean stormpathFilter) { if (!(filterShiroFilterRegistrationBean.getFilter() instanceof AbstractShiroFilter)) { throw new ConfigurationException( "Shiro filter registration bean did not contain a AbstractShiroFitler"); }/*from ww w . j a v a2 s . co m*/ AbstractShiroFilter filter = (AbstractShiroFilter) filterShiroFilterRegistrationBean.getFilter(); FilterChainResolver originalFilterChainResolver = filter.getFilterChainResolver(); List<Filter> prioritizedFilters = new ArrayList<>(); prioritizedFilters.add(stormpathFilter.getFilter()); stormpathFilter.setEnabled(false); prioritizedFilters.add(new StormpathShiroPassiveLoginFilter()); ShiroPrioritizedFilterChainResolver prioritizedFilterChainResolver = new ShiroPrioritizedFilterChainResolver( originalFilterChainResolver, prioritizedFilters); filter.setFilterChainResolver(prioritizedFilterChainResolver); return prioritizedFilterChainResolver; }