【发布时间】:2018-11-29 15:14:14
【问题描述】:
在我的 Spring Boot 2.0.5 应用程序中,我使用 basic-auth 来保护 REST-API。
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/api/**").authenticated().and()
.httpBasic().and().csrf().disable();
}
@Bean
public InMemoryUserDetailsManager inMemoryUserDetailsManager() {
final InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser("user").password("pwd").roles("roles").build()));
return manager;
}
}
其中一个 API 被 Feign 客户端(另一个 Spring Boot 应用程序)与 Feigns BasicAuthRequestInterceptor 一起使用。
NewRelic 报告 Spring 的 BasicAuthenticationFilter.doFilter() 使用最多 10 秒 (!) 的每个 Web 服务请求。
这是一个巨大的开销。这里出了什么问题,我该怎么做才能加快速度?
【问题讨论】:
-
嗨@Saimonsez - 我也面临同样的问题。有什么解决办法吗?
标签: spring basic-authentication feign