【问题标题】:Adding HDIV State ID to POST request body while making AJAX calls在进行 AJAX 调用时将 HDIV 状态 ID 添加到 POST 请求正文
【发布时间】:2015-09-09 13:49:40
【问题描述】:

我们有一个基于 Java 的 Web 应用程序,我们在其中使用 HDIV 作为我们的安全框架。从根本上说,我们的应用程序没有任何表单标签,而是有许多 AJAX 调用,它们带来 JSON/HTML 响应,页面中的卡片是用这些响应构建的。

我们在处理敏感数据时使用 POST 请求。这些数据在 POST 请求正文中发送。为了符合安全要求,我们不会在 hdiv:startPages 中包含 POST 请求 URL,如果这样做,我们会在错误日志中收到与 HDIV 相关的异常,即“HDIV_PARAMETER_NOT_EXISTS;”我们四处搜索,发现它需要状态 ID,并从这些 URL(https://github.com/hdiv/hdiv/wiki/Appendix-C:-Ajaxhttps://github.com/hdiv/spring-mvc-showcase/blob/master/src/main/webapp/WEB-INF/views/partialform.jsp)we 找出如何为 AJAX 端点添加 HDIV 状态 ID。

但这里要注意的是,如果生成状态 ID 并将其作为查询参数附加到 AJAX 结束 URL,那么 HDIV 不会抛出任何异常,因为它从结束 URL 中识别状态 ID 参数。另一方面,如果我们尝试在请求正文中添加状态 ID,则会引发异常,指出“HDIV_PARAMETER_NOT_EXISTS;”。

没错,

我们不应该在 hdiv:startPages 中包含 POST 请求 AJAX 端点 为此,我们应该将状态 ID 作为 URL 的一部分附加 该状态 ID 应该在 POST 请求正文中,而不是作为 URL 中的查询参数。 当状态 ID 在请求正文中时会引发 HDIV 异常,并且仅当它可用作端点中的查询参数时才有效。对于 POST 请求,一般不建议添加参数作为查询字符串值。

如果有人能在这方面指导我们,那就太好了。

谢谢!!! 赛

【问题讨论】:

    标签: ajax hdiv


    【解决方案1】:

    HDIV 的 Github 问题跟踪器中回答了相同的问题:https://github.com/hdiv/hdiv/issues/83 希望对你有帮助!

    Gotzon Illarramendi(HDIV 团队)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      相关资源
      最近更新 更多