Перехватчик токенов Struts2: защита CSRF

Я пытаюсь защитить свое веб-приложение от CSRF-атак с помощью перехватчика токенов Struts.

Проблема, с которой я сейчас сталкиваюсь, состоит в том, что наши JSP-страницы выполняют более одного вызова к серверу (хотя JSP преобразуется в JS, в JS добавляется токен распорок. Но в этом JS есть несколько запросов Ajax. Надеюсь, я проясняю себя .), поскольку токен-перехватчик проверяется только на первый запрос к серверу. Другие запросы становятся недействительными, потому что маркер распорок сбрасывается после каждой проверки.

Есть ли способ, которым я не позволяю Struts сбрасывать токен каждый раз, когда он проверяется? Есть ли другие решения, чтобы справиться с этим в перехватчике распорок.

Я тоже смотрю наtomcatcsrfprotection модуль, я думаю, что я в конечном итоге с этой же проблемой здесь.

managepage.jsp:

<s:token />
<script type="text/javascript">
var strutsToken = "<s:property value="#session['struts.tokens.token']" />";
var requestParams = {mainAction: 'loadGroups','struts.token.name': 'token' , token:strutsToken};

Ext.Ajax.request({
              url: 'manageUserAccount.action',
              params: Ext.urlEncode(requestParams),
              disableCaching: true,
              success: this.actionCallback
              });



//loading widgets

var requestParams = {mainAction: 'loadusers','struts.token.name': 'token' , token:strutsToken};

Ext.Ajax.request({
              url: 'manageUserAccount.action',
              params: Ext.urlEncode(requestParams),
              disableCaching: true,
              success: this.actionCallback
              });

</script>

Struts.xml:

  <action name="manageUserAccountEdit" class="ManageUserAccountEditAction">
     <interceptor-ref name="csrf-protection" /> 
     <result name="success">/pages/manageUserAccount.jsp</result>
 </action>

Я только что добавил минимальный код, чтобы его было проще понять.

Ответы на вопрос(1)

Ваш ответ на вопрос