Struts 同步器令牌

发布于 2024-08-06 14:46:38 字数 180 浏览 5 评论 0原文

如果我在 struts 应用程序中实现 Synchronizer Token ,我是否需要编辑我的所有表单为令牌添加某种标签还是由 struts 自动完成?

If I implement the Synchronizer Token in my struts application, would i need to edit all my forms to add some kind of tag for the token or is that done automatically by struts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夕嗳→ 2024-08-13 14:46:38

该操作的 saveToken() 方法生成一个令牌并将其放入会话范围内,然后 html:form 标记会自动将该令牌添加到您的页面。

以下是来自 html:form 自定义标记处理程序的代码片段:

String token = (String) session.getAttribute(Globals.TRANSACTION_TOKEN_KEY);
if (token != null) {
  results.append("<input type=\"hidden\" name=\"");
  results.append(Constants.TOKEN_KEY);
  results.append("\" value=\"");
  results.append(token);
  if (this.isXhtml()) {
      results.append("\" />");
  } else {
     results.append("\">");
  }
}

因此,如果您使用 Struts html:form 标记,则无需执行任何操作,Struts 会负责添加该字段。如果您使用经典的 HTML 表单标签,那么您必须自己添加该字段。

The action’s saveToken() method generates a token and puts it in session scope, then the html:form tag adds the token automatically to your page.

Here is a code snippet from the html:form custom tag handler:

String token = (String) session.getAttribute(Globals.TRANSACTION_TOKEN_KEY);
if (token != null) {
  results.append("<input type=\"hidden\" name=\"");
  results.append(Constants.TOKEN_KEY);
  results.append("\" value=\"");
  results.append(token);
  if (this.isXhtml()) {
      results.append("\" />");
  } else {
     results.append("\">");
  }
}

So, if you are using Struts html:form tags you don’t have to do anything, Struts will take care of adding the field. If instead you use classic HTML form tags, then you have to add the field by yourself.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文