Я хочу разрешить запросы перекрестного происхождения для одного домена. В моем проекте используется Spring, поэтому я хочу воспользоваться новой поддержкой CORS.
Я использую версию 4.2.0
для всех зависимостей springframework
.
Я следовал примеру здесь https://spring.io/blog/2015/06/08/cors-support-in-spring-framework#disqus_thread и попробовал первую версию. Аннотации моего контроллера выглядят так:
@CrossOrigin(origins = "http://fiddle.jshell.net/", maxAge = 3600)
@Controller
@RequestMapping("/rest")
public class MyController
Если я правильно понял, mvc-config - это альтернативный метод. Я тоже пробовал:
<mvc:cors>
<mvc:mapping path="/**"
allowed-origins="http://fiddle.jshell.net/, http://domain2.com"
allowed-methods="GET, PUT"
allowed-headers="header1, header2, header3"
exposed-headers="header1, header2" allow-credentials="false"
max-age="123" />
</mvc:cors>
Ни с одним из методов ответ, похоже, не содержит ничего похожего на Access-Control-Allow-Origin
, и я не могу получить результат с помощью простого запроса от jsfiddle.
Информация заголовка из инструментов разработчика Chrome при запуске и доступе с локального хоста приведена ниже. В этом случае запрос из того же домена, а не через javascript, но я думал, что аннотация CORS все равно добавит параметры контроля доступа?
Заголовки ответа:
Content-Length:174869
Content-Type:text/html;charset=UTF-8
Date:Fri, 21 Aug 2015 12:21:09 GMT
Server:Apache-Coyote/1.1
Заголовок запроса:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*\/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8,ro;q=0.6,de;q=0.4,fr;q=0.2
Cache-Control:no-cache
Connection:keep-alive
Cookie:JSESSIONID=831EBC138D2B7E176DF4945ADA05CAC1;_ga=GA1.1.1046500342.1404228238; undefined=0
Host:localhost:8080
Pragma:no-cache
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0(Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36
Я не использую весеннюю загрузку и полагаю, что пропустил шаг настройки.
@RestController
вместо@Controller
, но, похоже, это не имело никакого значения для заголовков. - person ilinca   schedule 21.08.2015org.springframework.web.filter.OncePerRequestFilter
. Это сработало с первой попытки. - person ilinca   schedule 01.12.2015