springboot 通过@WebFilter(urlPatterns )配置Filter过滤路径,没有配置/*,输入任何路径都能进过滤器

@Slf4j
@Component
@ServletComponentScan
@WebFilter(urlPatterns = {"/config/*","/driver/*","/order/*","/im/*","/privacy/*","/config/*"}, filterName = "apiFilter")
public class SecurityRequestFilter implements Filter {
}

以上代码,urlPatterns 没有指名要过滤“/”根路径,但是在输入http://localhost:8080/之后,却能进入filter。

启动打印日志如下:

 观察日志可以看出,注册的过滤器除了使用filterName = "apiFilter"显示注册的外,还隐试注册了一个以类名首字母为小写的过滤器(securityRequestFilter )

 

解决方法:filterName = "apiFilter" 修改为 filterName = "securityRequestFilter",覆盖掉隐试注册的过滤器,这样就可以避免注册多个过滤器。从而解决输入任何路径都能进过滤器的问题。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值