excludePathPatterns方法不生效

1、场景

我在项目中配置了License证书授权的功能,然后在配置拦截器的时候拦截了所有的请求都必须验证License是否到期,但是这样会导致接口响应慢,所以打算使用 excludePathPatterns 方法对部分url请求放行。例如我要放行

 http://127.0.0.1:8081/api/user/loadAllUserList

这个接口,然后我现在代码是这样写的,却怎么测试都不生效。 

2、解决

后来经过多次尝试后终于发现了问题,将 /api 去掉写成下面这样的写法就通过生效了

 3、分析

为什么要去掉 /api 呢?因为我是在yml配置文件中设置了 context-path 路径,外部访问接口的时候必须要以/api为前缀,但是在 excludePathPatterns 中配置其实是不需要这个前缀的。

 注意:这种情况除了使用 excludePathPatterns 时会出现以外,在别的场景中也会出现这样的问题,比如在 shiro 中拦截请求是否需要认证时,也不能使用这个 context-path 路径。

猜你喜欢

转载自blog.csdn.net/weixin_45151960/article/details/129727791