Jump to content

JasperServer 3.5 and Direct URL access ?


Exie

Recommended Posts

Hi,

I was running JS3.0 and had a handful of outputs setup with direct URL access (using ROLE_ANONYMOUS in the applicationContext-security.xml)

This was working great, until and unfortunate accident, which means I'm rebuilding it all. So I'm getting started with JS3.5 and have modded the security in the same way, but it no-longer works. My URL looks like:

http://192.168.40.15:8080/jasperserver-pro/fileview/fileview/reports/despatch/output/OutstandingOrders-26.xls

And I get this back:

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.jaspersoft.jasperserver.api.JSException: jsexception.could.not.find.content.resource.with.uri	org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:408)	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)	com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)	org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:335)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)	org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	com.jaspersoft.ji.license.JILicenseFilter.doFilter(JILicenseFilter.java:107)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:142)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:97)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	com.jaspersoft.jasperserver.multipleTenancy.MTBasicProcessingFilter.doFilter(MTBasicProcessingFilter.java:182)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:178)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:178)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)	org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)	org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)	org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)	com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)

 

I suspect it could be because of the mutli-company stuff... to omit this at login I can specify "&orgId=ABC" on the query string, but that doesnt seem to help with direct URL access.

Has anyone done this under 3.5 yet ?

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Can you use the full resource path, i.e. /organizations/organization_1/reports/despatch/output/OutstandingOrders-26.xls, in the URL?  As you suspected, the problem is caused by the fact that the anonymous user is not part of the default organization.

Another solution would be to have a custom anonymous authentication filter that uses a user which is part of the default organization.

Regards,

Lucian

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...