struts 1.2中的令牌拦截器

时间:2012-04-03 12:40:06

标签: struts2 struts struts-1 struts-config struts-validation

我的项目是struts1.2。是否有任何在struts1.2中实现Token拦截器(struts2)? 我知道它可以通过使用

来实现
  1. saveToken(HttpServletRequest req)
  2. isTokenValid(HttpServletRequest req)
  3. resetToken(HttpServletRequest req)
  4. 但我不想在每一个动作中添加上述内容。

3 个答案:

答案 0 :(得分:2)

我知道struts2但不知道struts1(因此这些解决方案从这个角度进行攻击,struts1人可能会对这个问题有一个更漂亮的解决方案):

1)添加Spring(如果还没有)...使用AOP添加这些方法。 [费用:可能学习新技术]

2)在Struts1旁边使用Struts2将.action转换为struts2和.do转换为struts1 ...创建一个struts2包,可能称为“token”,可能通过适当的动作映射到/ token,使用通配符来捕获你扔的东西在...它转发到struts1的行动。 PS :你问过它是如何完成的......这远非漂亮,我不会这样做。 [成本:使映射逻辑复杂化]

3)将所有内容转换为struts2并使用令牌拦截器。 [费用:高额投资]

4)创建一个新的基本动作类,您的动作将扩展,实现这些方法。

答案 1 :(得分:1)

Struts 1上不存在拦截器,可以使用servlet过滤器。但是要注意不要在HTTP GET请求上控制令牌,以免拒绝所有请求。

Servlet Filters and Event Listeners

所有请求上的

saveToken()和POST请求中的isTokenValid()resetToken()。

答案 2 :(得分:0)

如果你想在Struts 2中使用TokenInterceptor,你必须引用tokenSession拦截器。
在特定的操作中,必须在struts.xml中处理name =“invalid.token”的结果 在您必须编写的页面上从中生成操作的页面:标题

中的标记标记