您正在扩展org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter,它本身又扩展了org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter。在最后一节课中,有一个名为setter的操作setFilterProcessesUrl
,它旨在执行以下操作:
public void (字符串filterProcessesUrl)
设置确定是否需要身份验证的URL
参数:filterProcessesUrl
因此,您WebSecurityConfigurerAdapter
可以像这样:
@Bean
public JWTAuthenticationFilter getJWTAuthenticationFilter() {
final JWTAuthenticationFilter filter = new JWTAuthenticationFilter(authenticationManager());
filter.setFilterProcessesUrl("/api/auth/login");
return filter;
}
然后在configure
同一个类的方法中,只需引用它即可,而不是创建新实例:
.addFilter(getJWTAuthenticationFilter())