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 に答える