下面列出了org.springframework.boot.context.embedded.FilterRegistrationBean#addUrlPatterns ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Bean
@ConditionalOnExpression("${in.clouthink.daas.sbb.support.cors.enabled:true}")
@Autowired
public FilterRegistrationBean filterRegistrationBean(CorsSupportProperties corsSupportProperties) {
final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
final CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowCredentials(corsSupportProperties.isAllowCredentials());
corsConfiguration.addAllowedOrigin(corsSupportProperties.getAllowOrigin());
corsConfiguration.addAllowedHeader(corsSupportProperties.getAllowHeader());
corsConfiguration.addAllowedMethod(corsSupportProperties.getAllowMethod());
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
CorsFilter corsFilter = new CorsFilter(urlBasedCorsConfigurationSource);
FilterRegistrationBean registration = new FilterRegistrationBean(corsFilter);
registration.addUrlPatterns("/*");
registration.setOrder(corsSupportProperties.getOrder());
return registration;
}
@Bean
public FilterRegistrationBean httpMethodFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(httpMethodFilter());
registration.addUrlPatterns("/*");
registration.setName("httpMethodFilter");
registration.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);
return registration;
}
@Bean
public FilterRegistrationBean httpMethodFilterRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(httpMethodFilter());
registration.addUrlPatterns("/*");
registration.setName("httpMethodFilter");
registration.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);
return registration;
}
@Bean(name = "shiroFilter")
@DependsOn("securityManager")
@ConditionalOnMissingBean
public FilterRegistrationBean filterRegistrationBean(SecurityManager securityManager) throws Exception {
FilterRegistrationBean filterRegistration = new FilterRegistrationBean();
//该值缺省为false,表示生命周期由SpringApplicationContext管理,设置为true则表示由ServletContainer管理
filterRegistration.addInitParameter("targetFilterLifecycle", "true");
filterRegistration.setFilter((Filter) getShiroFilterFactoryBean(securityManager).getObject());
filterRegistration.setEnabled(true);
filterRegistration.addUrlPatterns("/*");
return filterRegistration;
}
@Bean
public FilterRegistrationBean jwtFilter() {
final FilterRegistrationBean registrationBean = new FilterRegistrationBean();
registrationBean.setFilter(new JwtFilter());
registrationBean.setInitParameters(Collections.singletonMap("services.auth", authService));
registrationBean.addUrlPatterns("/protected-resource");
return registrationBean;
}
@Bean
public FilterRegistrationBean domainValidateFilter() {
FilterRegistrationBean registrationBean = new FilterRegistrationBean();
Supplier<String> expectedDomainName = () -> {
// toLowerCase() to match metaServerConfig retrieve info
String dcName = FoundationService.DEFAULT.getDataCenter().toLowerCase();
DcInfo dcInfo = metaServerConfig.getDcInofs().get(dcName);
return dcInfo.getMetaServerAddress();
};
DomainValidateFilter filter = new DomainValidateFilter(()->metaServerConfig.validateDomain(), expectedDomainName);
registrationBean.setFilter(filter);
registrationBean.addUrlPatterns("/*");
return registrationBean;
}
@Bean
public FilterRegistrationBean catFilter() {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new CatFilter());
bean.setName("cat-filter");
bean.addUrlPatterns("/*");
bean.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.FORWARD);
return bean;
}