spring boot filter实现
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring boot filter实现相关的知识,希望对你有一定的参考价值。
spring boot filter实现
1.注解方式直接配置
@Component @ServletComponentScan @WebFilter(urlPatterns = "/*",filterName = "loginFilter") public class LoginFilter implements Filter{ }
1、@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起作用
2、@ServletComponentScan 这个使用来扫描@WebFilter 的让@WebFilter起作用。当然对于servlet线管注解也是可以的。
这个@ServletComponentScan最好写在Apllication这个上面,通用配置。
我这里因为只有一个Filter所以没有写在Application上面。
3、@WebFilter 这个用处显而易见,针对于什么链接做过滤,filter的名称是为什么。
直接继承Filter
public class LoginFilter implements Filter{ }
或继承GenericFilterBean
public class LoginFilter extends GenericFilterBean{ }
@SpringBootApplication public class SpringRestApplication { public static void main(String[] args) { SpringApplication.run(SpringRestApplication.class, args); } @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean registrationBean = new FilterRegistrationBean(); HTTPBasicAuthorizeAttribute httpBasicFilter = new HTTPBasicAuthorizeAttribute(); registrationBean.setFilter(httpBasicFilter); List<String> urlPatterns = new ArrayList<String>(); urlPatterns.add("/user/*"); registrationBean.setUrlPatterns(urlPatterns); return registrationBean; } }
以上是关于spring boot filter实现的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot - Filter实现简单的Http Basic认证
Spring Boot (Filter)过滤器的实现以及使用场景