title: JasperReports Server Null pointer exception after CAS integration
body: <p>I have followed the guide on <a href="http://community.jaspersoft.com/wiki/integrating-cas-jasperreports-server#Modify_the_cas.properties_file" rel="nofollow">this wiki</a> to integrate <em>JasperReports Server 4.7.1 Pro</em> with <em>CAS</em> authentication.</p>
  
  <p>The authentication is done successfully and I am able to redirect to the home flow, <code>/jasperserver-pro/flow.html?_flowId=homeFlow</code>. But all of the other links throws a null pointer exception.</p>
  
  <p>My guess is there is some property that I am missing to set on one of the security xml files. </p>
  
  <p>I have included the full stack trace below.</p>
  
  <p>Any ideas where I should look into?</p>
  
  <pre><code>java.lang.NullPointerException at
  com.jaspersoft.jasperserver.multipleTenancy.security.MTAcegiSecurityContextProvider.getContextUser(MTAcegiSecurityContextProvider.java:55) at
  sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at 
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
  java.lang.reflect.Method.invoke(Method.java:597) at
  org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) at
  org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) at
   $Proxy97.getContextUser(Unknown Source) at
  com.jaspersoft.jasperserver.search.action.RepositorySearchAction.init(RepositorySearchAction.java:135) at
  sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
  java.lang.reflect.Method.invoke(Method.java:597) at
  org.springframework.webflow.action.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:98) at
  org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:123) at
  org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) at
  org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) at
  org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77) at
  org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) at
  org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145) at
  org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) at
  org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:101) at
  org.springframework.webflow.engine.State.enter(State.java:194) at
  org.springframework.webflow.engine.Transition.execute(Transition.java:227) at
  org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:51) at
  org.springframework.webflow.engine.State.enter(State.java:194) at 
  org.springframework.webflow.engine.Flow.start(Flow.java:535) at
  org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:366) at
  org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:225) at
  org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:140) at
  sun.reflect.GeneratedMethodAccessor230.invoke(Unknown Source) at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at
  java.lang.reflect.Method.invoke(Method.java:597) at
  org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) at
  org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at
  org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at
  org.springframework.security.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:66) at
  org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at
  org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at
   $Proxy188.launchExecution(Unknown Source) at
  org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:193) at
  org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174) at     
  org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at
  org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) at
  org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) at
  org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at
  org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at
  javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:399) at 
  com.jaspersoft.jasperserver.api.security.IPadSupportFilter.doFilter(IPadSupportFilter.java:67) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.api.security.JSSwitchUserProcessingFilter.doFilterHttp(JSSwitchUserProcessingFilter.java:154) at
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) at
  org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at 
  org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) at
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.ji.license.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:108) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.ji.license.JILicenseFilter.doFilter(JILicenseFilter.java:66) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) at
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:139) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:96) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.multipleTenancy.MTBasicProcessingFilter.doFilterHttp(MTBasicProcessingFilter.java:180) at
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:185) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at 
  org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278) at
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:185) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.api.logging.filter.BasicLoggingFilter.doFilter(BasicLoggingFilter.java:53) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.api.security.JSCsrfGuardFilter.doFilter(JSCsrfGuardFilter.java:83) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.api.security.WebAppSecurityFilter.doFilter(WebAppSecurityFilter.java:76) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.war.MultipartRequestWrapperFilter.doFilter(MultipartRequestWrapperFilter.java:90) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  com.jaspersoft.jasperserver.api.security.encryption.EncryptionFilter.doFilter(EncryptionFilter.java:130) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at
  org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at
  org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at
  org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:188) at
  org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at
  com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:67) at
  org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) at
  org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at
  com.jaspersoft.jasperserver.war.P3PFilter.doFilter(P3PFilter.java:43) at
  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at
  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at
  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at
  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at
  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) at
  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at
  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at
  org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at
  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at
  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at
  org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at
  org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at
  org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at
  java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at
  java.lang.Thread.run(Thread.java:662)
  </code></pre>