我有一個使用Jersey作爲JAX-RS實現的Spring Boot應用程序。這是我的安全配置:Spring Boot REST API/Spring Security:身份驗證失敗時返回自定義消息
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Autowired TokenAuthenticationProvider tokenAuthenticationProvider;
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(tokenAuthenticationProvider);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.addFilterBefore(new AuthenticationTokenFilter(), BasicAuthenticationFilter.class)
.csrf().disable()
.authorizeRequests()
.antMatchers("/dataHub/**")
.authenticated();
}
}
我希望能夠做的就是有一個辦法趕上我的TokenAuthenticationProvider拋出的異常,並將它們轉換成我們已經商定的標準化JSON格式。有沒有辦法做到這一點?我試着添加一個自定義的AuthenticationFailureHandler,但無法讓它工作。