Ich benutze Tomcat 7. Ich habe native CORS-Filterung eingerichtet, wie in der offiziellen Tomcat-Dokumentation vorgeschlagen.Tomcat CORS Filter und Spring Security
Ich habe alles getestet, was ich konnte, aber es funktioniert nicht. Da ich eine Herstelleranwendung verwende, von der ich weiß, dass sie Spring Security-Filter verwendet, frage ich mich, ob es hier einen bekannten Fehler gibt.
Hier ist, was ich rede:
<!-- Spring Security START -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>
<!-- Spring Security END -->
Ich habe die folgenden Konfigurationen Web.xml hinzugefügt:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Ich weiß, es ist minimal, aber es sollte funktionieren.
Ich habe auch versucht, vorher eine längere Version:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.origins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
</init-param>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
</init-param>
<init-param>
<param-name>cors.support.credentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>cors.preflight.maxage</param-name>
<param-value>10</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Es hat nicht funktioniert entweder.
Hat jemand Erfahrung mit der Einrichtung von CORS-Filtern mit Spring Security?
Könnten Sie genauer über "es funktioniert nicht" sein? – Djizeus
was ist deine genaue tomcat version? – salyh
Haben Sie versucht, den Korsfilter vor den Federfilter zu setzen? – user467257