aem - 在 AJAX Post 调用中包含 CSRF token

标签 aem

我们正在使用 jQuery 对 sling servlet 使用 POST AJAX 调用,并且仅当用户登录时,由于缺少 CSRF token ,这些调用才会出现 403 禁止错误。对于匿名访问,它工作正常。 我们如何在 AJAX 调用中包含此 CSRF header ? 在调度程序中,我们是否需要允许“/libs/granite/csrf/token.json”?

最佳答案

是的,您需要在调度程序 ( Refer dispatcher documentation ) 中允许 /libs/granite/csrf/token.json 以及 CSRF-Token header 。

对于 CSRF token ,如果您依赖于 granite.jquery clientlib,那么默认情况下它应该可用。否则,您需要在客户端库中添加granite.csrf.standalone依赖项以启用CSRF框架。有关此内容的更多信息,请参阅 here .

关于aem - 在 AJAX Post 调用中包含 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40989517/

相关文章:

java - 如何检测页面的修改? java中的哪个监听器?

aem - 在 AEM 6.5 和 Java 11 上打开页面属性时,日志中出现带有 NPE 的警告

servlets - 从 Sling/CQ 中的 bundle 获取 OSGi 服务

java - Live Copy 上不会自动进行转出

aem - 直接去除装饰标签 aem

aem - 如何在 aem6 的 sling 模型中适配子节点

java - 有没有办法为 AEM 中的 Assets 提供安全性和授权

aem - 以编程方式设置 cq :tags save blank value in the node in AEM

aem - Uncaught ReferenceError : CQ is not defined

java - 在 AEM 中,如何从 body 部分的组件中获取值并将它们写入 html 的 head 部分