在自定义spring云网关过滤器中获取主体名称

nwwlzxa7  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(141)

我试图在一个定制的spring云网关过滤器中检索一个主体的名称作为一个字符串,这样我就可以将这个字符串传递给我的服务类,以便在返回到过滤器链之前执行一些逻辑。
我遇到了下面的全局过滤器示例,其中他们正在检查主体的名称,但无法找出如何将主体的名称改为字符串?

@Bean
public GlobalFilter customGlobalFilter() {
    return (exchange, chain) -> exchange.getPrincipal()
        .map(Principal::getName)
        .defaultIfEmpty("Default User")
        .map(userName -> {
          //adds header to proxied request
          exchange.getRequest().mutate().header("CUSTOM-REQUEST-HEADER", userName).build();
          return exchange;
        })
        .flatMap(chain::filter);
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题