private void addServletContextInitializerBean(String beanName, ServletContextInitializer initializer, ListableBeanFactory beanFactory) { if (initializer instanceof ServletRegistrationBean) { Servlet source = ((ServletRegistrationBean<?>) initializer).getServlet(); addServletContextInitializerBean(Servlet.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof FilterRegistrationBean) { Filter source = ((FilterRegistrationBean<?>) initializer).getFilter(); addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof DelegatingFilterProxyRegistrationBean) { String source = ((DelegatingFilterProxyRegistrationBean) initializer) .getTargetBeanName(); addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof ServletListenerRegistrationBean) { EventListener source = ((ServletListenerRegistrationBean<?>) initializer) .getListener(); addServletContextInitializerBean(EventListener.class, beanName, initializer, beanFactory, source); } else { addServletContextInitializerBean(ServletContextInitializer.class, beanName, initializer, beanFactory, initializer); } }
@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"); } 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; }
filters.put("authc", formAuthenticationFilterRegistrationBean.getFilter()); filters.put("logout",logoutFilterFilterRegistrationBean.getFilter()); filters.put("sysUser",sysUserFilterFilterRegistrationBean.getFilter()); filters.put("onlineSession",onlineSessionFilterFilterRegistrationBean.getFilter()); filters.put("jCaptchaValidate",jCaptchaValidateFilterFilterRegistrationBean.getFilter()); factory.setFilters(filters);
@Test public void wingtipsRequestTracingFilter_returns_DoNothingServletFilter_if_WingtipsSpringBootProperties_indicates_disabled() { // given WingtipsSpringBootProperties props = generateProps(true, null, null, null, null); WingtipsSpringBootConfiguration conf = new WingtipsSpringBootConfiguration(props); // when FilterRegistrationBean filterRegistrationBean = conf.wingtipsRequestTracingFilter(); // then assertThat(filterRegistrationBean.getFilter()) .isNotNull() .isInstanceOf(DoNothingServletFilter.class); }
private void addServletContextInitializerBean(String beanName, ServletContextInitializer initializer, ListableBeanFactory beanFactory) { if (initializer instanceof ServletRegistrationBean) { Servlet source = ((ServletRegistrationBean<?>) initializer).getServlet(); addServletContextInitializerBean(Servlet.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof FilterRegistrationBean) { Filter source = ((FilterRegistrationBean<?>) initializer).getFilter(); addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof DelegatingFilterProxyRegistrationBean) { String source = ((DelegatingFilterProxyRegistrationBean) initializer).getTargetBeanName(); addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof ServletListenerRegistrationBean) { EventListener source = ((ServletListenerRegistrationBean<?>) initializer) .getListener(); addServletContextInitializerBean(EventListener.class, beanName, initializer, beanFactory, source); } else { addServletContextInitializerBean(ServletContextInitializer.class, beanName, initializer, beanFactory, initializer); } }
private void addServletContextInitializerBean(String beanName, ServletContextInitializer initializer, ListableBeanFactory beanFactory) { if (initializer instanceof ServletRegistrationBean) { Servlet source = ((ServletRegistrationBean<?>) initializer).getServlet(); addServletContextInitializerBean(Servlet.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof FilterRegistrationBean) { Filter source = ((FilterRegistrationBean<?>) initializer).getFilter(); addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof DelegatingFilterProxyRegistrationBean) { String source = ((DelegatingFilterProxyRegistrationBean) initializer).getTargetBeanName(); addServletContextInitializerBean(Filter.class, beanName, initializer, beanFactory, source); } else if (initializer instanceof ServletListenerRegistrationBean) { EventListener source = ((ServletListenerRegistrationBean<?>) initializer) .getListener(); addServletContextInitializerBean(EventListener.class, beanName, initializer, beanFactory, source); } else { addServletContextInitializerBean(ServletContextInitializer.class, beanName, initializer, beanFactory, initializer); } }