Re: Error after logout
Thank you very much for your help! Marek 2011/2/17 Kalle Korhonen > You are logging out the Subject, right? See this (from > > http://svn.codehaus.org/tynamo/trunk/tynamo-example-federatedaccounts/src/main/java/org/tynamo/examples/federatedaccounts/pages/Index.java > ): >Object onActionFromLogout() { >// Need to call this explicitly to invoke onlogout handlers > (for > remember me etc.) >SecurityUtils.getSubject().logout(); >try { >// the session is already invalidated, but need to > cause an > exception since tapestry doesn't know about it >// and you'll get a container exception message > instead without > this. Unfortunately, there's no way of >// configuring Shiro to not invalidate sessions > right now. See > DefaultSecurityManager.logout() >// There's a similar issues in Tapestry - Howard has > fixed, but no > in T5.2.x releases yet >request.getSession(false).invalidate(); >} catch (Exception e) { >} > >return this; >} > > I don't have the Tapestry issue at hand. Perhaps try with 5.3-SNAPSHOT > first without other changes if that's an option. > > Kalle > > > On Thu, Feb 17, 2011 at 7:59 AM, Marek Matus > wrote: > > Hi all, > > > > I have application with tomcat 7.0.4, tapestry 5.2.4, tynamo security > > 0.3.0. Sometimes after logout I receise this error - see bellow. > > Could you give me advice what could be wrong? > > > > Thanks, > > > > Marek > > > > HTTP Status 500 - > > -- > > > > *type* Exception report > > > > *message* > > > > *description* *The server encountered an internal error () that prevented > it > > from fulfilling this request.* > > > > *exception* > > > > java.io.IOException: Filtered request failed. > > > > org.tynamo.security.filter.SecurityRequestFilter.service(SecurityRequestFilter.java:174) > > > > $HttpServletRequestFilter_12e33dd15c1.service($HttpServletRequestFilter_12e33dd15c1.java) > > > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > > > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) > > > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > > > $HttpServletRequestHandler_12e33dd15bc.service($HttpServletRequestHandler_12e33dd15bc.java) > > > com.b2bcentrum.mks.t5.services.MKSFilter.doFilter(MKSFilter.java:114) > > > > com.b2bcentrum.mks.t5.services.ServiceHolderFilter.doFilter(ServiceHolderFilter.java:58) > > > > *root cause* > > > > javax.servlet.ServletException: Filtered request failed. > > > > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:294) > > > > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) > > > > org.tynamo.security.filter.SecurityRequestFilter.service(SecurityRequestFilter.java:164) > > > > $HttpServletRequestFilter_12e33dd15c1.service($HttpServletRequestFilter_12e33dd15c1.java) > > > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > > > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) > > > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > > > $HttpServletRequestHandler_12e33dd15bc.service($HttpServletRequestHandler_12e33dd15bc.java) > > > com.b2bcentrum.mks.t5.services.MKSFilter.doFilter(MKSFilter.java:114) > > > > com.b2bcentrum.mks.t5.services.ServiceHolderFilter.doFilter(ServiceHolderFilter.java:58) > > > > *root cause* > > > > java.lang.IllegalStateException: removeAttribute: Session already > invalidated > > > > org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1311) > > > > org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1286) > > > > org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1391) > > > > org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1362) > > > > org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:142) > > > > org.apache.tapestry5.internal.services.SessionImpl.restoreDirtyObjects(SessionImpl.java:135) > > > > org.apache.tapestry5.internal.services.RestoreDirtySessionObjects.requestDidComplete(RestoreDirtySessionObjects.java:38) > > > > org.apache.tapestry5.internal.services.EndOfRequestEventHubImpl.fire(EndOfRequestEventHubImpl.java:40) > > > > $EndOfRequestEventHub_12e33dd15a5.fire($EndOfRequestEventHub_12e33dd15a5.java) > > > > org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:988) > > > $RequestHandler_12e33dd15d0.service($RequestHandler_12e33dd15d0.java) > > > > org.apache.tapestry5.services.TapestryM
Re: Error after logout
You are logging out the Subject, right? See this (from http://svn.codehaus.org/tynamo/trunk/tynamo-example-federatedaccounts/src/main/java/org/tynamo/examples/federatedaccounts/pages/Index.java): Object onActionFromLogout() { // Need to call this explicitly to invoke onlogout handlers (for remember me etc.) SecurityUtils.getSubject().logout(); try { // the session is already invalidated, but need to cause an exception since tapestry doesn't know about it // and you'll get a container exception message instead without this. Unfortunately, there's no way of // configuring Shiro to not invalidate sessions right now. See DefaultSecurityManager.logout() // There's a similar issues in Tapestry - Howard has fixed, but no in T5.2.x releases yet request.getSession(false).invalidate(); } catch (Exception e) { } return this; } I don't have the Tapestry issue at hand. Perhaps try with 5.3-SNAPSHOT first without other changes if that's an option. Kalle On Thu, Feb 17, 2011 at 7:59 AM, Marek Matus wrote: > Hi all, > > I have application with tomcat 7.0.4, tapestry 5.2.4, tynamo security > 0.3.0. Sometimes after logout I receise this error - see bellow. > Could you give me advice what could be wrong? > > Thanks, > > Marek > > HTTP Status 500 - > -- > > *type* Exception report > > *message* > > *description* *The server encountered an internal error () that prevented it > from fulfilling this request.* > > *exception* > > java.io.IOException: Filtered request failed. > > org.tynamo.security.filter.SecurityRequestFilter.service(SecurityRequestFilter.java:174) > > $HttpServletRequestFilter_12e33dd15c1.service($HttpServletRequestFilter_12e33dd15c1.java) > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > $HttpServletRequestHandler_12e33dd15bc.service($HttpServletRequestHandler_12e33dd15bc.java) > com.b2bcentrum.mks.t5.services.MKSFilter.doFilter(MKSFilter.java:114) > > com.b2bcentrum.mks.t5.services.ServiceHolderFilter.doFilter(ServiceHolderFilter.java:58) > > *root cause* > > javax.servlet.ServletException: Filtered request failed. > > org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:294) > > org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) > > org.tynamo.security.filter.SecurityRequestFilter.service(SecurityRequestFilter.java:164) > > $HttpServletRequestFilter_12e33dd15c1.service($HttpServletRequestFilter_12e33dd15c1.java) > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) > > $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) > > $HttpServletRequestHandler_12e33dd15bc.service($HttpServletRequestHandler_12e33dd15bc.java) > com.b2bcentrum.mks.t5.services.MKSFilter.doFilter(MKSFilter.java:114) > > com.b2bcentrum.mks.t5.services.ServiceHolderFilter.doFilter(ServiceHolderFilter.java:58) > > *root cause* > > java.lang.IllegalStateException: removeAttribute: Session already invalidated > > org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1311) > > org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1286) > > org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1391) > > org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1362) > > org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:142) > > org.apache.tapestry5.internal.services.SessionImpl.restoreDirtyObjects(SessionImpl.java:135) > > org.apache.tapestry5.internal.services.RestoreDirtySessionObjects.requestDidComplete(RestoreDirtySessionObjects.java:38) > > org.apache.tapestry5.internal.services.EndOfRequestEventHubImpl.fire(EndOfRequestEventHubImpl.java:40) > > $EndOfRequestEventHub_12e33dd15a5.fire($EndOfRequestEventHub_12e33dd15a5.java) > > org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:988) > $RequestHandler_12e33dd15d0.service($RequestHandler_12e33dd15d0.java) > > org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974) > $RequestHandler_12e33dd15d0.service($RequestHandler_12e33dd15d0.java) >
Re: Error after logout
The problem here is the session somehow being accessed after invalidate() is called. Maybe you tried to set an @Persist'd variable or something, and the actual change didn't propagate until after you called invalidate(). I do my invalidate in an ajax request. The other solution is to call invalidate in a filter, so it always ends up after any session altering code. -- View this message in context: http://tapestry-users.832.n2.nabble.com/Error-after-logout-tp6036478p6036628.html Sent from the Tapestry Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Error after logout
Hi all, I have application with tomcat 7.0.4, tapestry 5.2.4, tynamo security 0.3.0. Sometimes after logout I receise this error - see bellow. Could you give me advice what could be wrong? Thanks, Marek HTTP Status 500 - -- *type* Exception report *message* *description* *The server encountered an internal error () that prevented it from fulfilling this request.* *exception* java.io.IOException: Filtered request failed. org.tynamo.security.filter.SecurityRequestFilter.service(SecurityRequestFilter.java:174) $HttpServletRequestFilter_12e33dd15c1.service($HttpServletRequestFilter_12e33dd15c1.java) $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) $HttpServletRequestHandler_12e33dd15bc.service($HttpServletRequestHandler_12e33dd15bc.java) com.b2bcentrum.mks.t5.services.MKSFilter.doFilter(MKSFilter.java:114) com.b2bcentrum.mks.t5.services.ServiceHolderFilter.doFilter(ServiceHolderFilter.java:58) *root cause* javax.servlet.ServletException: Filtered request failed. org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:294) org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81) org.tynamo.security.filter.SecurityRequestFilter.service(SecurityRequestFilter.java:164) $HttpServletRequestFilter_12e33dd15c1.service($HttpServletRequestFilter_12e33dd15c1.java) $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:928) $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) $HttpServletRequestHandler_12e33dd15bc.service($HttpServletRequestHandler_12e33dd15bc.java) com.b2bcentrum.mks.t5.services.MKSFilter.doFilter(MKSFilter.java:114) com.b2bcentrum.mks.t5.services.ServiceHolderFilter.doFilter(ServiceHolderFilter.java:58) *root cause* java.lang.IllegalStateException: removeAttribute: Session already invalidated org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1311) org.apache.catalina.session.StandardSession.removeAttribute(StandardSession.java:1286) org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1391) org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1362) org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:142) org.apache.tapestry5.internal.services.SessionImpl.restoreDirtyObjects(SessionImpl.java:135) org.apache.tapestry5.internal.services.RestoreDirtySessionObjects.requestDidComplete(RestoreDirtySessionObjects.java:38) org.apache.tapestry5.internal.services.EndOfRequestEventHubImpl.fire(EndOfRequestEventHubImpl.java:40) $EndOfRequestEventHub_12e33dd15a5.fire($EndOfRequestEventHub_12e33dd15a5.java) org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:988) $RequestHandler_12e33dd15d0.service($RequestHandler_12e33dd15d0.java) org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:974) $RequestHandler_12e33dd15d0.service($RequestHandler_12e33dd15d0.java) org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90) $RequestHandler_12e33dd15d0.service($RequestHandler_12e33dd15d0.java) org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90) org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:80) org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103) $RequestHandler_12e33dd15d0.service($RequestHandler_12e33dd15d0.java) $RequestHandler_12e33dd15c3.service($RequestHandler_12e33dd15c3.java) org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:272) org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44) $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHandler_12e33dd15c5.java) org.tynamo.resteasy.ResteasyRequestFilter.service(ResteasyRequestFilter.java:71) $HttpServletRequestFilter_12e33dd15c0.service($HttpServletRequestFilter_12e33dd15c0.java) $HttpServletRequestHandler_12e33dd15c5.service($HttpServletRequestHand