Spring WebFlux URL匹配:区分路径和路径变量

时间:2020-04-23 11:34:16

标签: security spring-webflux api-gateway

我有3个端点:

  1. / api / dummy / {id}
  2. / api / dummy / local
  3. / api / dummy

我只想允许访问#1(带有路径变量),而禁止所有其他访问。

如何使用AntPathMatcher区分路径和路径变量?

  @Bean
  public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
    http.csrf()
        .disable()
        .addFilterAt(new OttWebFilter(myService), SecurityWebFiltersOrder.FIRST)
        .authorizeExchange()
        ....
        .pathMatchers(HttpMethod.GET, "/api/dummy/{id:[a-z]+}")
        .authenticated()
        ....

   return http.build();

1 个答案:

答案 0 :(得分:0)

我想那是不可能的:端点1和端点2相撞。如果我呼叫端点2,服务器可能会认为我正在使用id = "local"

呼叫端点1。