I'm getting an authentication exception when I try and access the webengine 
base page but the page appears to load fine.

My environment is:
> nuxeo EP 5.2.0-RC1 using VCS on postgresql
> nuxeo webengine 5.2.0-RC1 on glassfish (nuxeo-we-5.2.0-RC1-glassfish.zip) 
> change http port to 9080
>
> both environments are working independently of each other
>

Here is my  webengine nxserver/config/platform-config.xml
><?xml version="1.0"?>
>
><component name="org.nuxeo.ecm.platform.api.DefaultPlatform" version="1.0">
>  <documentation>
>    A default platform layout. All services are available remotely trough a 
> JNDI
>    server on localhost Services not specified here will be retrieved using
>    NXRuntime on the current JVM.
>    <p />
>    Only one repository is defined: "default" which is managed by a remote 
> service on
>    localhost.
>    <p />
>    This is the default layout that may be used for simple installations 
> schemes
>    like:
>    <ul>
>    <li>A ECM Web Application deployed on a single JVM</li>
>    <li>A client application like Apogee willing to connect to an ECM 
> Application
>      (possibly without web layer) deployed on the same host (localhost)
>    </li>
>    </ul>
>
>    @author <a href="mailto:[email protected]";>Bogdan Stefanescu</a>
>  </documentation>
>  
>  <extension target="org.nuxeo.ecm.platform.api.PlatformService"
>    point="servers">
>    <documentation>The default platform layout</documentation>
>
>    <server name="default" host="localhost" port="1099">
>
>      <service class="org.nuxeo.ecm.core.api.CoreSession"
>        jndiName="${org.nuxeo.ecm.platform.coresession.facade}" private="true" 
> />
>      <service class="org.nuxeo.ecm.platform.types.TypeManager"
>        jndiName="%TypeManagerBean" />
>
>      <repository name="default" class="org.nuxeo.ecm.core.api.CoreSession"
>        description="Default Repository" />
>
>    </server>
>
>  </extension>
>  
>  <extension target="org.nuxeo.ecm.core.api.repository.RepositoryManager"
>    point="repositories">
>    <documentation>The default repository</documentation>
>
>    <repository name="default" label="Default Repository" />
>
>  </extension>
>
>  <extension target="org.nuxeo.runtime.api.ServiceManagement" point="servers">
>
>    <server class="org.nuxeo.runtime.api.JBossServiceLocator">
>      <group>default</group>
>      <!-- you should not specify here any properties for local server
>    to avoid doing socket calls for EJB lookups.
>    In order to define JNDI props for clients edit the nuxeo.properties file
>    and add nuxeo-client-jndi. prefixed props.
>    Anyway you can still use jndi properties here if you want to force the 
> server itself to use them
>    when looking up in jndi. (this will also override nuxeo.properties jndi 
> properties)
>  -->
>    <property name="java.naming.factory.initial">
>      org.jnp.interfaces.NamingContextFactory
>    </property>
>    <property name="java.naming.factory.url.pkgs">
>      org.jboss.naming:org.jnp.interfaces
>    </property>
>    <property name="java.naming.provider.url">jnp://127.0.0.1:1099</property>
>    </server>
>
>  </extension>
>  
>  <!-- bind MyRepo to MyGroup -->
>  <extension target="org.nuxeo.runtime.api.ServiceManagement" point="services">
>    <service class="org.nuxeo.ecm.core.api.CoreSession" name="default" 
> group="default">
>      <locator>%DocumentManagerBean</locator>
>    </service>
>  </extension>
>
>
>
></component>


It looks as if webengine is correctly accessing the remote repository but I'm 
getting an Authentication exception see below

>javax.ejb.EJBAccessException: Authentication failure
>       at 
> >org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.handleGeneralSecurityException(Ejb3AuthenticationInterceptor.java:68)
>       at 
> org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:70)
>       at 
> org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:110)
>       at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>       at 
> org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
>       at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>       at 
> org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
>       at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>       at 
> org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:335)
>       at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
>       at 
> org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
>       at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:809)
>       at 
> org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:608)
>       at 
> org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:406)
>       at 
> org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:173)
>       at 
> org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
>       at org.jboss.remoting.Client.invoke(Client.java:1634)
>       at org.jboss.remoting.Client.invoke(Client.java:548)
>       at 
> org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
>       at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>       at 
> org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:67)
>       at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>       at 
> org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
>       at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>       at 
> org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
>       at 
> org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>       at 
> org.jboss.ejb3.stateful.StatefulRemoteProxy.invoke(StatefulRemoteProxy.java:139)
>       at $Proxy80.connect(Unknown Source)
>       at 
> org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:131)
>       at 
> org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:112)
>       at 
> org.nuxeo.ecm.webengine.session.UserSession.openSession(UserSession.java:165)
>       at 
> org.nuxeo.ecm.webengine.session.UserSession.getCoreSession(UserSession.java:119)
>       at 
> org.nuxeo.ecm.webengine.session.UserSession.getCoreSession(UserSession.java:138)
>       at 
> org.nuxeo.ecm.webengine.model.impl.AbstractWebContext.getCoreSession(AbstractWebContext.java:131)
>       at org.nuxeo.ecm.core.rest.DocumentRoot.<init>(DocumentRoot.java:41)
>       at org.nuxeo.ecm.core.rest.DocumentRoot.<init>(DocumentRoot.java:36)
>       at org.nuxeo.ecm.webengine.admin.Main.getRepository(Main.java:50)
>       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:585)

How can I get webengine to propagate the principal to the remote repository. 
Had a quick look through the webengine and EP code and I can't see that being 
done. As in calling Framework.login(....) etc as I would if I were writing a 
standalone nuxeo client. 

I think I'm just missing some security config but any help would be much 
appreciated....

Does webengine currently support remote access to a repository?

cheers

Aaron
--
Posted by "aaronwalker" at Nuxeo Discussions <http://nuxeo.org/discussions>
View the complete thread: 
<http://www.nuxeo.org/discussions/thread.jspa?threadID=2440#6637>
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm
To unsubscribe, go to http://lists.nuxeo.com/mailman/options/ecm

Reply via email to