I disabled the SimpleLoginModule in repository.xml and configured a login.conf file with the com.sun.security.auth.module.LdapLoginModule (from JDK 6). After creating LDAP users for the admin & anonymous identities, Sling starts up fine.

However, when requesting a node with a JSP rendering script, the JspScriptEngineFactory throws an ClassCircularityError on activate - it seems to be looping in the RepositoryClassLoader as it tries to login to the repository (stack trace is below):

15.08.2008 12:25:24.171 *ERROR* [SCR Component Actor] org.apache.sling.scripting.jsp [org.apache.sling.scripting.jsp.JspScriptEngineFactory] The activate method has thrown an exception (java.lang.ClassCircularityError: com/sun/security/auth/module/LdapLoginModule) java.lang.ClassCircularityError: com/sun/security/auth/module/LdapLoginModule
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:247)
   at javax.security.auth.login.LoginContext.invoke(LoginContext.java:731)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
   at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
   at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
   at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at org.apache.jackrabbit.core.security.AuthContext$JAAS.login(AuthContext.java:88) at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1245) at org.apache.sling.jcr.base.internal.SessionPool.acquireSession(SessionPool.java:268) at org.apache.sling.jcr.base.internal.SessionPoolManager.login(SessionPoolManager.java:99) at org.apache.sling.jcr.base.AbstractSlingRepository.login(AbstractSlingRepository.java:240) at org.apache.sling.jcr.base.AbstractSlingRepository.loginAdministrative(AbstractSlingRepository.java:206) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderProviderImpl.getSession(RepositoryClassLoaderProviderImpl.java:103) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderFacade.getSession(RepositoryClassLoaderFacade.java:185) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderFacade.getDelegateClassLoader(RepositoryClassLoaderFacade.java:195) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderFacade.loadClass(RepositoryClassLoaderFacade.java:105)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:247)
   at javax.security.auth.login.LoginContext.invoke(LoginContext.java:731)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
   at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
   at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
   at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at org.apache.jackrabbit.core.security.AuthContext$JAAS.login(AuthContext.java:88) at org.apache.jackrabbit.core.RepositoryImpl.login(RepositoryImpl.java:1245) at org.apache.jackrabbit.core.SessionImpl.impersonate(SessionImpl.java:810) at org.apache.sling.jcr.base.internal.SessionPool.acquireSession(SessionPool.java:330) at org.apache.sling.jcr.base.internal.SessionPoolManager.impersonate(SessionPoolManager.java:127) at org.apache.sling.jcr.base.internal.PooledSession.impersonate(PooledSession.java:220) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderProviderImpl.getSession(RepositoryClassLoaderProviderImpl.java:112) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderFacade.getSession(RepositoryClassLoaderFacade.java:185) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderFacade.getDelegateClassLoader(RepositoryClassLoaderFacade.java:195) at org.apache.sling.jcr.classloader.internal.RepositoryClassLoaderFacade.getResource(RepositoryClassLoaderFacade.java:114)
   at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1168)
   at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:96)
   at java.security.AccessController.doPrivileged(Native Method)
at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:89) at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
   at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:223)
at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:123) at org.apache.sling.scripting.jsp.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:89) at org.apache.sling.scripting.jsp.jasper.xmlparser.ParserUtils.parseXMLDocument(ParserUtils.java:133) at org.apache.sling.scripting.jsp.SlingTldLocationsCache.getUriFromTld(SlingTldLocationsCache.java:159) at org.apache.sling.scripting.jsp.SlingTldLocationsCache.addBundle(SlingTldLocationsCache.java:125) at org.apache.sling.scripting.jsp.SlingTldLocationsCache.<init>(SlingTldLocationsCache.java:56) at org.apache.sling.scripting.jsp.JspScriptEngineFactory.activate(JspScriptEngineFactory.java:188)
   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.apache.felix.scr.impl.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226) at org.apache.felix.scr.impl.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:133) at org.apache.felix.scr.impl.DelayedComponentManager.getService(DelayedComponentManager.java:83) at org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:256) at org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:190) at org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:291)
   at org.apache.felix.framework.Felix.getService(Felix.java:2842)
at org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:417) at org.apache.felix.scr.impl.DependencyManager.getService(DependencyManager.java:560) at org.apache.felix.scr.impl.DependencyManager.invokeBindMethod(DependencyManager.java:858) at org.apache.felix.scr.impl.DependencyManager.serviceAdded(DependencyManager.java:190) at org.apache.felix.scr.impl.DependencyManager.serviceChanged(DependencyManager.java:115) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:765) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:623) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:554)
   at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3612)
   at org.apache.felix.framework.Felix.access$000(Felix.java:36)
   at org.apache.felix.framework.Felix$1.serviceChanged(Felix.java:626)
at org.apache.felix.framework.ServiceRegistry.fireServiceChanged(ServiceRegistry.java:559) at org.apache.felix.framework.ServiceRegistry.registerService(ServiceRegistry.java:75)
   at org.apache.felix.framework.Felix.registerService(Felix.java:2702)
at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:254) at org.apache.felix.scr.impl.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:698) at org.apache.felix.scr.impl.AbstractComponentManager.activateInternal(AbstractComponentManager.java:506) at org.apache.felix.scr.impl.AbstractComponentManager.enableInternal(AbstractComponentManager.java:398) at org.apache.felix.scr.impl.AbstractComponentManager.access$000(AbstractComponentManager.java:36) at org.apache.felix.scr.impl.AbstractComponentManager$1.run(AbstractComponentManager.java:99) at org.apache.felix.scr.impl.ComponentActorThread.run(ComponentActorThread.java:85)

Reply via email to