Hide Forgot
securitylevel_name: Public Spotted this during resiliency tetsing - if a user attempts an operation while not logged in - for example if a server restart has happened after a user has logged in - the "technical error" dialog shown in the attached screenshot is displayed. The correct source of the error - org.jboss.seam.security.NotLoggedInException - however is written to the server.log - can we provide more a specific error message to the user?
2010-12-01 16:08:30,158 INFO [STDOUT] (http-127.0.0.1-8080-1) ERROR 01-12 16:08:30,129 (LoggingHelper.java:error:76) Service method 'public abstract void org.drools.guvnor.client.rpc.RepositoryService.installSampleRepository() throws com.google.gwt.user.client.rpc.SerializationException' threw an unexpected exception: org.jboss.seam.security.NotLoggedInException org.jboss.seam.security.NotLoggedInException at org.jboss.seam.security.Identity.checkRestriction(Identity.java:211) at org.jboss.seam.security.SecurityInterceptor$Restriction.check(SecurityInterceptor.java:109) at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:155) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166) at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102) at org.drools.guvnor.server.ServiceImplementation_$$_javassist_3.installSampleRepository(ServiceImplementation_$$_javassist_3.java) at org.drools.guvnor.server.RepositoryServiceServlet.installSampleRepository(RepositoryServiceServlet.java:346) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42) at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53) at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451) at java.lang.Thread.run(Thread.java:636) 2010-12-01 16:08:30,163 ERROR [STDERR] (http-127.0.0.1-8080-1) com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract void org.drools.guvnor.client.rpc.RepositoryService.installSampleRepository() throws com.google.gwt.user.client.rpc.SerializationException' threw an unexpected exception: org.jboss.seam.security.NotLoggedInException 2010-12-01 16:08:30,170 ERROR [STDERR] (http-127.0.0.1-8080-1) at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:378) 2010-12-01 16:08:30,170 ERROR [STDERR] (http-127.0.0.1-8080-1) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:581) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.web.ContextFilter$1.process(ContextFilter.java:42) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:53) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:37) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) 2010-12-01 16:08:30,171 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:451) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at java.lang.Thread.run(Thread.java:636) 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) Caused by: org.jboss.seam.security.NotLoggedInException 2010-12-01 16:08:30,172 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.security.Identity.checkRestriction(Identity.java:211) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.security.SecurityInterceptor$Restriction.check(SecurityInterceptor.java:109) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:155) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:166) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:102) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.drools.guvnor.server.ServiceImplementation_$$_javassist_3.installSampleRepository(ServiceImplementation_$$_javassist_3.java) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at org.drools.guvnor.server.RepositoryServiceServlet.installSampleRepository(RepositoryServiceServlet.java:346) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at java.lang.reflect.Method.invoke(Method.java:616) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) 2010-12-01 16:08:30,173 ERROR [STDERR] (http-127.0.0.1-8080-1) ... 30 more
Attachment: Added: Screenshot.png
Michael Anstis <michael.anstis> made a comment on jira GUVNOR-1717 The references BZ issue displays a meaningful error message to the user if they are not logged in (in the case of the BZ issue this was caused by a server restart and all HTTP sessions consequently being invalidated). This will also occur when a session is timed out. Please advise whether this fix is acceptable for this JIRA?
Michael Anstis <michael.anstis> made a comment on jira GUVNOR-1717 The ideal solution is (although not tried) to have every GWT-RPC method throw Seam's NotLoggedInException. This can then be caught in the org.drools.guvnor.client.common.GenericCallBack.onFailure() rather than passing a text error message back from the server (see org.drools.guvnor.server.RepositoryServiceServlet.doUnexpectedFailure which is *only* passed Throwables not declared in service methods signature - see http://www.gwtapps.com/doc/html/com.google.gwt.doc.DeveloperGuide.RemoteProcedureCalls.HandlingExceptions.html). Furthermore we could add a timer to the GWT EntryPoint that redirects to itself (and hence force a login box) after expiration of the session time-out interval. This value would probably need to be hard-coded as This could also be extended to the handling of AuthorizationException (see org.drools.guvnor.client.common.GenericCallBack.onFailure).
Michael Anstis <michael.anstis> made a comment on jira GUVNOR-1717 You get the idea http://jeremyjbarth.blogspot.co.uk/2011/08/simple-session-timeout-handling-with.html
Update status to ON_QA. Please verify them against ER6.
This is not resolved as the parent issue is still open.
My apologies, the branch contains the fix.
Verified. After I restart the server and Guvnor require connection to server (listing, new asset, etc.) I get this Error alert: 400 You are not logged in. Please refresh your browser and try again. After I refresh the browser, I can fill loggin form and everything work fine. Alert is user friendly.
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: If the server has been restarted and the user has not logged back into the BRMS user interface and they try to preform an operation, a technical error message was displayed which provided the user with no useful information. This has been resolved and the system now displays a descriptive message which informs the user they are not logged and need to refresh their browser.
Toni Rikkola <toni> updated the status of jira GUVNOR-1717 to Closed