Heim  >  Artikel  >  Java  >  Der SpringBoot-Interceptor gibt „false“ zurück, um zu zeigen, wie domänenübergreifende Probleme gelöst werden können

Der SpringBoot-Interceptor gibt „false“ zurück, um zu zeigen, wie domänenübergreifende Probleme gelöst werden können

WBOY
WBOYnach vorne
2023-05-13 17:10:201686Durchsuche

Das Projekt hat kürzlich eine IP-Black-White-List-Funktion hinzugefügt. Ich habe festgestellt, dass das Frontend immer noch domänenübergreifend angezeigt wird Hat nicht funktioniert. Schließlich habe ich dem Interceptor ein Urteil hinzugefügt. Das ist es. IP-Interceptor vor der Änderung

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
        // ----------- 加上这个就好了 -----------
        if (!(handler instanceof HandlerMethod)) {
            return true;
        }
    }

Geänderter IP-Interceptor
@Configuration
@RestControllerAdvice
public class WebMvcConfig implements WebMvcConfigurer {
    @Resource
    private IpFilterInterceptor ipFilterInterceptor;
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        // IP拦截器
        registry.addInterceptor(ipFilterInterceptor)
                .addPathPatterns("/**")
                .order(5);
    }
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowCredentials(true)
                .allowedOriginPatterns("*")
                .allowedMethods("*")
                .allowedHeaders("*")
                .maxAge(3600);
    }
}

Schließlich liegt die Ursache des Problems darin, dass der Interceptor dies tun muss Bestimmen Sie den Typ des Handlers in preHandle. Dieser muss HandlerMethod sein. Nur wenn

übergeben werden muss

Das obige ist der detaillierte Inhalt vonDer SpringBoot-Interceptor gibt „false“ zurück, um zu zeigen, wie domänenübergreifende Probleme gelöst werden können. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen