403 Sling Post servlet

  • 本文关键字:servlet Post Sling aem
  • 更新时间 :
  • 英文 :


我关注这篇博客文章。但我在AEM 6.1中得到403错误。我不想更改"Apache Sling Referrer Filter"。我认为这个错误是因为CSRF令牌而来的,我可以通过调用/libs/agrante/CSRF/token.json 来获得它

但是我如何在这个表单头中添加这个CSRF令牌呢?或者还有其他方法可以让它发挥作用吗?

您可以添加带有独立标签的csrf令牌

<cq:includeClientLib categories="granite.csrf.standalone" />

你可以在你使用表单的每一页上添加这个,或者你有一个母版页witch继承到每一页

csrf令牌是一个隐藏字段,在发送formular之前。看起来像

<input type="hidden" name=":cq_csrf_token" value="4a6sd4f6as4df6as.a5s4df6a4sdf674asd96f"></input>

由于您的页面在AEM之外,全局处理此问题的一种方法是在您的应用程序中包含granite csrf JS,并将其修改为指向您的AEM token.json url。这个脚本负责表单发布,AJAX在全局级别调用。

其次,这个脚本会检查相关的服务器url主机和上下文路径。所以你也必须禁用这些功能。这是一个相当简单的JS。我知道这不是一种合乎道德的方法,但以这种方式使用AEM也不是一种正常的用例:)

最新更新