All,I'm integrating Alfresco and Share with an SSO system that uses a reverse proxy and a filter that creates a header with the user's id and creates the UserPrincipal object with the user's Id. This works great for Alfresco, however Share isn't working. When I access share a few things happen:1. in the browser I get the following message:
org.springframework.extensions.surf.exception.UserFactoryException: Unable to create user - failed to retrieve user metadata:
org.springframework.extensions.surf.support.AlfrescoUserFactory.loadUser(AlfrescoUserFactory.java:177)
org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:176)
org.springframework.extensions.surf.support.AbstractUserFactory.initialiseUser(AbstractUserFactory.java:99)
org.springframework.extensions.surf.RequestContextUtil.initialiseUser(RequestContextUtil.java:203)
org.springframework.extensions.surf.RequestContextUtil.initRequestContext(RequestContextUtil.java:107)
org.springframework.extensions.surf.RequestContextUtil.initRequestContext(RequestContextUtil.java:54)
org.alfresco.web.site.SlingshotPageViewResolver.lookupPage(SlingshotPageViewResolver.java:57)
org.springframework.extensions.surf.mvc.PageViewResolver.canHandle(PageViewResolver.java:103)
org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:370)
org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:77)
org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1091)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1040)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:74)
org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:301)
com.tremolosecurity.filter.AutoIDMFilter.doFilter(AutoIDMFilter.java:90)
2. My alfresco service (its a stock 3.4.d install all on one server) shows the following request:
URL : 'http://localhost:8080/alfresco/s/webframework/content/metadata'
Method : 'GET'
Source IP : '127.0.0.1'
Source Port : '34303'
Header : 'user-agent=Jakarta Commons-HttpClient/3.1'
Header : 'host=localhost:8080'
Parameter : 'user=mboorshtein'
which appears to have a 401 response with the realm "Alfresco"how do these two systems interact? prior to integrating SSO (using org.alfresco.web.app.servlet.HTTPRequestAuthenticationFilter) I had no issues. Is it looking for a service account or a header in the request? is this configurable in Share? Since its looking for the user mboorshtein share is getting the authentication context from the UserPrincipal?ThanksMarc