Как сделать недействительным текущий сеанс и использовать useToken на следующем gsp - PullRequest
0 голосов
/ 08 июля 2019

У меня есть форма, в которой при отправке я хочу аннулировать текущий сеанс, создать новый и повторно отобразить ту же форму.

Проблема в том, что после того, как я аннулировал сеанс, моя страницавыдает ошибку «Сеанс уже признан недействительным»

java.lang.IllegalStateException: getAttribute: Session already invalidated
at grails.web.servlet.mvc.GrailsHttpSession.getAttribute(GrailsHttpSession.java:45)
at org.grails.web.servlet.mvc.SynchronizerTokensHolder.store(SynchronizerTokensHolder.groovy:83)
at org.grails.plugins.web.taglib.FormTagLib$_closure9.doCall(FormTagLib.groovy:443)
at org.grails.gsp.GroovyPage.invokeTagLibClosure(GroovyPage.java:446)
at org.grails.gsp.GroovyPage.invokeTag(GroovyPage.java:364)

Как видно из приведенной выше частичной трассировки стека, grails FormTagLib.groovy является частью проблемы.Я думал о добавлении необходимых полей csrf самостоятельно, но надеялся, что есть лучшее решение.

Мне нужно иметь защиту csrf в этой форме, как мне решить эту проблему?

...