403 Sling Post servlet

时间:2016-04-12 05:34:39

标签: cq5 aem

我关注此博客post。但我在AEM 6.1中收到403错误。 我不想改变Apache Sling Referrer Filter'。 我认为这个错误是因为CSRF令牌而来,我可以通过调用/libs/granite/csrf/token.json来获取

但是如何在此表单标题中添加此CSRF令牌?或者还有其他方法可以使它发挥作用吗?

2 个答案:

答案 0 :(得分:1)

您可以使用独立标记

添加csrf标记
<cq:includeClientLib categories="granite.csrf.standalone" />

您可以在使用表单的每个页面上添加此内容,或者您​​可能拥有继承到每个页面的母版页

在发送公式之前,csrf标记是隐藏字段。它看起来像

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

答案 1 :(得分:0)

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

其次,此脚本执行一些与服务器URL主机和上下文路径相关的检查。所以你也必须禁用它们。这是一个相当简单的JS修改。 我知道这不是一种道德方法,但以这种方式使用AEM也不是一个正常的用例:)