Невозможно сделать doPost, потому что приложение всегда отправляет мне заголовок «x-csrf-token: require» HTTP 403 - PullRequest
1 голос
/ 22 марта 2019

у меня работает doGet, но когда я следую, попробуйте сделать de doPost, я получу 403, я думаю, это потому, что сервер всегда посылает мне заголовок "x-csrf-token: require", но здесь странноэто то, что я деактивировал перед этими строками:

<!-- disabled to make REST work - AUTHN/AUTHZ MUST NOT USE COOKIES! -->
<!--
<filter>
    <filter-name>RestCsrfPreventionFilter</filter-name>
    <filter-class>org.apache.catalina.filters.RestCsrfPreventionFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>RestCsrfPreventionFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
-->

Я прочитал, что approuter принимает безопасность, это мой метод переопределения сообщения, я только хочу попробовать, чтобы он работал:

 @Override
protected void doPost( final HttpServletRequest request , final HttpServletResponse response) throws IOException, ServletException {
    response.getWriter().write("POST METHOD");
}

Но я вижу в заголовке ответа это каждый раз:

Ответ из приложения - HTTP 403 enter image description here

Я обнаружил, что вам нужно активировать аутентификацию вapprouter, но он все еще не работает для меня, это мой код approuter:

enter image description here

1 Ответ

2 голосов
/ 22 марта 2019

Approuter по умолчанию защищает все не-GET маршруты с защитой CSRF по умолчанию. Если вы просто хотите проверить это, вы можете использовать конфигурацию approuter, чтобы отключить его, используя "csrf-protection":false в xs-app.json (https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en-US/c103fb414988447ead2023f768096dcc.html).

Однако это не рекомендуется. Лучше всего выбрать токен CSRF и отправлять его при каждом последующем запросе

...