0

感谢 TokenProcessor.java 类,我在 Struts 中使用令牌。但是,如果用户打开一个新选项卡,则会与令牌发生冲突,因为令牌与会话而不是类相关联。

我尝试使用它: http: //www.coderanch.com/t/312306/EJB-JEE/java/Synchronizer-Token-EE-pattern-book 但它似乎不起作用。

提前感谢您的帮助。

4

1 回答 1

0

TokenProcessor 生成一个令牌并将其存储在一个名为“org.apache.struts.action.TOKEN”的会话属性中(来自常量 Globals.TRANSACTION_TOKEN_KEY)。这意味着,正如您所发现的,如果用户为同一会话打开了多个页面,例如,如果他们打开多个选项卡,则它不会起作用。如果您需要能够支持此用例,那么我认为您必须以不同的方式实现令牌检查。

看起来有人提交了一个补丁来解决这个问题(请注意,我没有看过它的作用):https ://issues.apache.org/jira/browse/STR-1609

于 2012-05-09T09:55:47.027 回答