Обработка CORS на стороне сервера Java

У нас есть некоторые защищенные ресурсы, которые нам нужны для включения CORS. Эти ресурсы могут быть получены/созданы с помощью get и post.

Для обработки CORS мы поместили обработку запроса предварительных параметров на стороне сервера. У нас есть специальный заголовок для отправки от клиентов, который позволяет ему быть предварительным запросом в соответствии с https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS.

При получении запроса опций с заголовком источника мы разрешаем источник с помощью «Access-Control-Allow-Origin» и делаем Access-Control-Allow-Credentials «true».

Мой вопрос: есть ли что-то еще, что мне нужно сделать, или могут ли быть случаи, когда браузер не отправляет запрос предварительных параметров?

Наилучшие пожелания,

Саурав

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
506
1

Ответы 1

Источник: https://howtodoinjava.com/servlets/java-cors-filter-example/

public class CORSFilter implements Filter {

    public CORSFilter() {
    }

    public void destroy() {
    }

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain)
            throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest) servletRequest;
        System.out.println("CORSFilter HTTP Request: " + request.getMethod());

        // Authorize (allow) all domains to consume the content
        ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Origin", "*");
        ((HttpServletResponse) servletResponse).addHeader("Access-Control-Allow-Methods","GET, OPTIONS, HEAD, PUT, POST");

        HttpServletResponse resp = (HttpServletResponse) servletResponse;

        // For HTTP OPTIONS verb/method reply with ACCEPTED status code -- per CORS handshake
        if (request.getMethod().equals("OPTIONS")) {
            resp.setStatus(HttpServletResponse.SC_ACCEPTED);
            return;
        }

        // pass the request along the filter chain
        chain.doFilter(request, servletResponse);
    }

    public void init(FilterConfig fConfig) throws ServletException {
    }

}

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