Я хочу добавить этот заголовок «Access-Control-Allow-Origin», «*» в каждый ответ, сделанный клиенту всякий раз, когда запрос сделал для контроллеров отдыха в моем приложении, чтобы разрешить перекрестное происхождение совместное использование ресурсов В настоящее время я вручную добавляю этот заголовок для каждого метода, подобного этомуавтоматически добавлять заголовок для каждого ответа
HttpHeaders headers = new HttpHeaders();
headers.add("Access-Control-Allow-Origin", "*");
Его работа, но очень расстраивает. Я нашел webContentInterceptor весной документы, которые позволяют нам изменять заголовки каждого ответа
<mvc:interceptors>
<bean id="webContentInterceptor"
class="org.springframework.web.servlet.mvc.WebContentInterceptor">
<property name="Access-Control-Allow-Origin" value="*"/>
</bean>
</mvc:interceptors>
но когда я использую это он бросает ошибку, что свойство не найдено в имени Access-Control-Allow-Origin так есть ли другой способ, которым мы может автоматически добавлять заголовок для каждого ответа
Обновление! Spring Framework 4.2 значительно упрощает это путем добавления @CrossOrigin аннотации либо методу или самого контроллер https://spring.io/blog/2015/06/08/cors-support-in-spring-framework
Мой фильтр не называется :(Я использую Spring Security, которая использует фильтры таким образом, у меня уже есть DelegatingFilterProxy, настроенный в web.xml. Любые предложения? – bentzy
@Benny DelegatingFilterProxy - это просто прокси-сервер, который обертывает ваш фильтр так, как я вижу, он не может быть «уже зарегистрирован», потому что у вас может быть столько, сколько вы хотите. Попробуйте добавить еще один с правильным именем (в моем примере corsFilter). – Dayde
Почему вы используете DelegatingFilterProxy в web.xml? Это не работает для меня. Он работает, только если я установил CorsFilter – Igorock