首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用S/4HANA Cloud SDK: Tomee原型项目在POST/PUT/DELETE时返回403禁止

使用S/4HANA Cloud SDK: Tomee原型项目在POST/PUT/DELETE时返回403禁止
EN

Stack Overflow用户
提问于 2018-04-12 16:35:17
回答 2查看 286关注 0票数 1

我用创建了一个S4SDK项目

代码语言:javascript
复制
mvn archetype:generate -DarchetypeGroupId=com.sap.cloud.s4hana.archetypes \
  -DarchetypeArtifactId=scp-cf-tomee -DarchetypeVersion=LATEST

我修改了HelloWorldServlet,使其具有doPost方法,但我根本无法获得访问它的POST请求。我总是收到HTTP状态403禁止响应。

如何使用S/4HANA Cloud SDK tomee原型进行REST开发?

EN

回答 2

Stack Overflow用户

发布于 2018-04-12 17:09:23

如果您查看失败请求的响应头,您可能会看到一个头X-CSRF-Token: Required。CSRF令牌保护您的应用程序用户不会成为在应用程序中执行不需要的操作的攻击的受害者。

因此,任何状态更改操作,如PUTPOST,都需要一个有效的CSRF令牌,以确保调用该操作的经过身份验证的用户确实想要执行该操作。CSRF令牌可以作为任何以前的无副作用请求的一部分来获取,比如GET。只需将头X-CSRF-Token: fetch附加到请求并从响应头X-CSRF-Token: abc123中提取返回值即可。最后,确保将提取的值作为下一个修改请求的X-CSRF-Token: abc123 header发送。那么一切都应该像预期的那样工作。

有关更多信息,您可以咨询:http://www2.hu-berlin.de/newlogic/docs/config/filter.html#CSRF_Prevention_Filter_for_REST_APIs/Basic_configuration_sample

票数 4
EN

Stack Overflow用户

发布于 2018-04-12 16:35:17

S4SDK的默认安全配置包含一个跨站点请求伪造(CSRF)预防过滤器-注释它以使REST API开发变得简单-但要知道CSRF problemhow CSRF relates to cookies -本质上确保在添加这些注释之前和之后不会在REST应用程序中使用cookies:

代码语言:javascript
复制
<!-- 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>
-->
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49791717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档