TokenProcessor.javaクラスのおかげで、Strutsでトークンを使用しています。ただし、ユーザーが新しいタブを開くと、トークンはクラスではなくセッションにリンクされているため、トークンとの競合が発生します。
これを使おうとしています:http://www.coderanch.com/t/312306/EJB-JEE/java/Synchronizer-Token-EE-pattern-book が機能しないようです。
よろしくお願いします。
TokenProcessor.javaクラスのおかげで、Strutsでトークンを使用しています。ただし、ユーザーが新しいタブを開くと、トークンはクラスではなくセッションにリンクされているため、トークンとの競合が発生します。
これを使おうとしています:http://www.coderanch.com/t/312306/EJB-JEE/java/Synchronizer-Token-EE-pattern-book が機能しないようです。
よろしくお願いします。
TokenProcessor はトークンを生成し、"org.apache.struts.action.TOKEN" (定数 Globals.TRANSACTION_TOKEN_KEY から) と呼ばれるセッション属性に格納します。これは、ユーザーが同じセッションで複数のページを開いている場合、たとえば複数のタブを開いている場合、機能しないことを意味します。このユース ケースをサポートできるようにする必要がある場合は、別の方法でトークン チェックを実装する必要があると思います。
この問題を回避するために誰かがパッチを提出したようです (私はこれが何をするか見ていないことに注意してください): https://issues.apache.org/jira/browse/STR-1609