Я пытаюсь сделать что-то после входа в OAuth2 в SpringBoot.
, поэтому я пытаюсь добавить фильтр после OAuth2LoginAuthenticationFilter.
@Configuration
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login", "/oauth2/**", "/")
.permitAll()
.anyRequest().authenticated()
.and()
.oauth2Login()
.and()
.addFilterAfter(new MyFilter(), OAuth2LoginAuthenticationFilter.class)
.logout();
}
Но это называется три раза.вот так
вот мой код.
SpringКласс конфигурации безопасности
@Configuration
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login", "/oauth2/**", "/")
.permitAll()
.anyRequest().authenticated()
.and()
.oauth2Login()
.and()
.addFilterAfter(new MyFilter(), OAuth2LoginAuthenticationFilter.class)
.logout();
}
}
Класс MyFilter
public class MyFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("login success.");
chain.doFilter(request, response);
}
}
Почему он вызывается три раза?и что мне делать?
Я хочу позвонить только один раз или получить любой другой хороший способ.