Я работаю над веб-приложением Portal, которое было разработано с помощью портлетов Struts на портале JBoss. Используется Struts-Portlet-Bridge.
Я пытался добавить код для аннулирования сеанса до того, как пользователю будет представлена страница входа, но во время session.invalidate()
возникают исключения. Затем я посмотрел на функциональность выхода из системы, и, очевидно, тот, кто написал код, не выполняет session.invalidate()
, и я думаю, по тем же причинам, с которыми я столкнулся.
Затем я гуглил для "Моста портлета Struts" и нашел эту ссылку (http://docs.oracle.com/cd/E19583-01/819-4605/gblnb/index.html), которая говорит:
Если какое-либо приложение Struts, развернутое как портлет, делает недействительным сеанс с помощью> session.invalidate (), сеанс, полученный мостом Struts-Portlet, становится> недействительным. Из-за этого мост не может хранить связанную с рендерингом информацию. На сервере приложений приложение Struts, развернутое как портлет, не должно> использовать session.invalidate (), так как тот же сеанс используется мостом портлета Struts.
У кого-нибудь есть решение для этого? Как я могу сделать недействительным сеанс без использования session.invalidate()
в методе действия Struts.