Я создаю REST API с помощью jax-rs и WildFly 10. Некоторые конечные точки защищены. Я использую аутентификацию на основе FORM.
В моем коде javascript я проверяю ответ на запрос AJAX
, и если он установлен на 401 Unauthorized
, я затем предоставляю пользователю форму входа. Когда он заполняет его, я отправляю детали j_security_check
.
Работая на localhost
, все это работает нормально, но когда веб-сервер и сервер REST находятся на разных машинах, браузер отклоняет запрос AJAX из-за проблем с перекрестным происхождением.
Я понимаю CORS, поэтому я добавил фильтр CORS на свой сервер REST, который устанавливает заголовки CORS для сервера с графическим интерфейсом. Все работает отлично, за исключением одной небольшой, но важной детали: после успешного входа CORS-фильтр не срабатывает для ответа j_security_check
. Заголовки CORS не добавляются, и браузер не может прочитать ответ.
Помимо этой детали, у меня вся установка работает именно так, как я хочу... Но я всю ночь боролся с этой деталью и никак не могу заставить ее работать.
Я понимаю, что есть проблемы с попыткой отфильтровать j_security_check
, но я не знаю других способов добавить заголовки CORS... Итак, мой вопрос:
Как добавить заголовки CORS в ответ для j_security_check
?
ContainerResponseFilter
. Я могу добавить все необходимые заголовкиAccess-Control-Allow-XXX
к любому ответу на стороне сервера. Но ответ на запросj_security_check
является исключением. Вам удалось найти решение? Заранее спасибо:). - person StepUp   schedule 26.08.2016