共同点:过滤器和拦截器都可以实现鉴权
过滤器的优点:
- 相比于拦截器,过滤器更加底层,执行时机更靠前,有利于防渗透扫描
- 过滤器可以拦截静态资源,方便做一些权限控制
- 部分Web框架没有提供拦截器功能,几乎所有的Web框架都会提供过滤器机制
过滤器的缺点:
- 由于太过底层,导致无法率先拿到框架层的对象,无法做一些额外的功能增强
- 由于拦截的太全面了,导致我们需要对很多特殊路由(如
/favicon.ico
)做一些额外处理 - 在Spring中,过滤器中抛出的异常无法进入全局
@ExceptionHandler
,我们必须额外编写代码进行异常处理
评论区