Отключить аутентификацию для запросов OPTIONS в Tomcat

У меня есть API, защищенный базовой аутентификацией. Когда я хочу сделать AJAX-запросы к API, браузер отправляет запрос OPTIONS, который не содержит заголовка авторизации, поэтому он отклоняется, и, следовательно, мой вызов AJAX не разрешен браузером.

Я попытался настроить Tomcat, чтобы он не аутентифицировал запросы OPTIONS, но мне не удалось заставить его работать.

Кто-нибудь, чтобы помочь мне получить это работает?

Спасибо:)

2 ответа

Может быть, этот ответ поможет. Короче говоря, нам нужно настроить сервер Tomcat для пересылки запроса в CorsFilter, даже если он не прошел проверку подлинности, используя что-то вроде этого:

<security-constraint>
    <web-resource-collection>
        <url-pattern>/*</url-pattern>
        <http-method>OPTIONS</http-method>
    </web-resource-collection>
    <!-- no auth-constraint here -->
</security-constraint>

убедитесь, что вы НЕ включаете элемент "auth-constraint". Итак, следующий пример не будет работать:

<security-constraint>
    <web-resource-collection>
        <url-pattern>/*</url-pattern>
        <http-method>OPTIONS</http-method>
    </web-resource-collection>
    <auth-constraint/><!-- this will prevent OPTIONS request -->
</security-constraint>

Вы должны написать белый список для вашей свиньи

для получения дополнительной информации см.: Запрещение методов HTTP на Tomcat чувствительно к регистру?

Другие вопросы по тегам