When I try to logout via tapestry-spring-security-2.1.0 (as in the
example, logoutService.logout() in my event handler for the logout
link), I get this error all the time:
How can I logout without error and go back to the main page?
java.lang.IllegalStateException: setAttribute: Session already
invalidated
org
.apache
.catalina.session.StandardSession.setAttribute(StandardSession.java:
1291)
org
.apache
.catalina.session.StandardSession.setAttribute(StandardSession.java:
1256)
org
.apache
.catalina
.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:
130)
org
.apache
.tapestry5
.internal.services.SessionImpl.restoreDirtyObjects(SessionImpl.java:129)
org
.apache
.tapestry5
.internal
.services
.RestoreDirtySessionObjects
.requestDidComplete(RestoreDirtySessionObjects.java:38)
org
.apache
.tapestry5
.internal
.services.EndOfRequestEventHubImpl.fire(EndOfRequestEventHubImpl.java:
40)
$
EndOfRequestEventHub_1230686f209
.fire($EndOfRequestEventHub_1230686f209.java)
org.apache.tapestry5.services.TapestryModule
$4.service(TapestryModule.java:782)
$RequestHandler_1230686f22e.service($RequestHandler_1230686f22e.java)
org.apache.tapestry5.services.TapestryModule
$3.service(TapestryModule.java:767)
$RequestHandler_1230686f22e.service($RequestHandler_1230686f22e.java)
org
.apache
.tapestry5
.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
$RequestHandler_1230686f22e.service($RequestHandler_1230686f22e.java)
org.apache.tapestry5.internal.services.CheckForUpdatesFilter
$2.invoke(CheckForUpdatesFilter.java:90)
org.apache.tapestry5.internal.services.CheckForUpdatesFilter
$2.invoke(CheckForUpdatesFilter.java:81)
org
.apache
.tapestry5
.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
org
.apache
.tapestry5
.internal
.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
$RequestHandler_1230686f22e.service($RequestHandler_1230686f22e.java)
$RequestHandler_1230686f221.service($RequestHandler_1230686f221.java)
org.apache.tapestry5.services.TapestryModule
$HttpServletRequestHandlerTerminator.service(TapestryModule.java:197)
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:
53)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
org
.apache
.tapestry5
.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:
62)
$
HttpServletRequestFilter_1230686f220
.service($HttpServletRequestFilter_1230686f220.java)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
nu
.localhost
.tapestry5
.springsecurity.services.internal.HttpServletRequestFilterWrapper
$1.doFilter(HttpServletRequestFilterWrapper.java:56)
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke
(FilterSecurityInterceptor.java:109)
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter
(FilterSecurityInterceptor.java:83)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.HttpServletRequestFilterWrapper
.service(HttpServletRequestFilterWrapper.java:52)
$
HttpServletRequestFilter_1230686f21d
.service($HttpServletRequestFilter_1230686f21d.java)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
nu
.localhost
.tapestry5
.springsecurity.services.internal.HttpServletRequestFilterWrapper
$1.doFilter(HttpServletRequestFilterWrapper.java:56)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.SpringSecurityExceptionTranslationFilter
.doFilterHttp(SpringSecurityExceptionTranslationFilter.java:100)
org
.springframework
.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.HttpServletRequestFilterWrapper
.service(HttpServletRequestFilterWrapper.java:52)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
nu
.localhost
.tapestry5
.springsecurity.services.internal.HttpServletRequestFilterWrapper
$1.doFilter(HttpServletRequestFilterWrapper.java:56)
org
.springframework
.security
.providers
.anonymous
.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:
105)
org
.springframework
.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.HttpServletRequestFilterWrapper
.service(HttpServletRequestFilterWrapper.java:52)
$
HttpServletRequestFilter_1230686f21c
.service($HttpServletRequestFilter_1230686f21c.java)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
nu
.localhost
.tapestry5
.springsecurity.services.internal.HttpServletRequestFilterWrapper
$1.doFilter(HttpServletRequestFilterWrapper.java:56)
org
.springframework
.security
.wrapper
.SecurityContextHolderAwareRequestFilter
.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
org
.springframework
.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.HttpServletRequestFilterWrapper
.service(HttpServletRequestFilterWrapper.java:52)
$
HttpServletRequestFilter_1230686f21b
.service($HttpServletRequestFilter_1230686f21b.java)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
nu
.localhost
.tapestry5
.springsecurity.services.internal.HttpServletRequestFilterWrapper
$1.doFilter(HttpServletRequestFilterWrapper.java:56)
org
.springframework
.security
.ui
.rememberme
.RememberMeProcessingFilter
.doFilterHttp(RememberMeProcessingFilter.java:116)
org
.springframework
.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.HttpServletRequestFilterWrapper
.service(HttpServletRequestFilterWrapper.java:52)
$
HttpServletRequestFilter_1230686f21a
.service($HttpServletRequestFilter_1230686f21a.java)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
nu
.localhost
.tapestry5
.springsecurity.services.internal.HttpServletRequestFilterWrapper
$1.doFilter(HttpServletRequestFilterWrapper.java:56)
org
.springframework
.security
.ui
.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:
271)
org
.springframework
.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.HttpServletRequestFilterWrapper
.service(HttpServletRequestFilterWrapper.java:52)
$
HttpServletRequestFilter_1230686f219
.service($HttpServletRequestFilter_1230686f219.java)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
nu
.localhost
.tapestry5
.springsecurity.services.internal.HttpServletRequestFilterWrapper
$1.doFilter(HttpServletRequestFilterWrapper.java:56)
org
.springframework
.security
.context
.HttpSessionContextIntegrationFilter
.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
org
.springframework
.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
nu
.localhost
.tapestry5
.springsecurity
.services
.internal
.HttpServletRequestFilterWrapper
.service(HttpServletRequestFilterWrapper.java:52)
$
HttpServletRequestFilter_1230686f218
.service($HttpServletRequestFilter_1230686f218.java)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
org.apache.tapestry5.services.TapestryModule
$2.service(TapestryModule.java:726)
$
HttpServletRequestHandler_1230686f223
.service($HttpServletRequestHandler_1230686f223.java)
$
HttpServletRequestHandler_1230686f217
.service($HttpServletRequestHandler_1230686f217.java)
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
Norman Franke
Answering Service for Directors, Inc.
www.myasd.com