我配置了server.servlet.context-path,但是我放行写的具体的路径为什么还可以放行
时间: 2024-09-10 15:25:35 浏览: 53
百分百解决 springcloud项目添加context-path,调用方404问题
当你配置了 `server.servlet.context-path` 并且使用 `web.ignoring().antMatchers(server.servlet.context-path + "/**")` 来放行所有从该上下文路径开始的请求,这是全局性的规则。但是,如果你还需要单独放行某些具体的路径,你可以直接在 `antMatchers()` 中列出那些路径,它们不会受到 `context-path` 规则的影响。
例如,假设你有如下的配置:
```java
.antMatchers(server.servlet.contextPath + "/public/**", server.servlet.contextPath + "/api/v1/auth")
```
这里放行了两个路径:一个是`/public`及其下的所有内容,另一个是`/api/v1/auth`。这两个路径会独立于全局的`context-path`规则,即使`context-path`设为了其他值,这些路径依然会被允许通过。
因此,即使已经设置了基础的 `context-path` 模糊匹配,你仍然可以根据需要添加精确路径的放行规则。
阅读全文