Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-26809

Fix MultiDirectory with LDAP

    XMLWordPrintable

    Details

    • Release Notes Summary:
      Multi-directory configuration works with LTS 2019.
    • Backlog priority:
      800
    • Sprint:
      nxFG 11.1.3

      Description

      1. install nuxeo 10.10
      2. install web-ui and jsf
      3. configure multidirectory using multiUserGroup (full multi)
      4. login
      5. in the JSF admin interface try to list the users or the groups, an 500 error pops up
      6. in the web ui interface try to list the users and the groups, only the groups are listed
      7. observe the following stack trace in the logs:
      8. 2019-02-14T10:44:53,147 ERROR [WebEngineExceptionMapper] org.nuxeo.ecm.directory.DirectoryException: getEntry failed: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
        org.nuxeo.ecm.directory.DirectoryException: getEntry failed: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
        	at org.nuxeo.ecm.directory.ldap.LDAPSession.getEntryFromSource(LDAPSession.java:434) ~[nuxeo-platform-directory-ldap-10.10.jar:?]
        	at org.nuxeo.ecm.directory.DirectoryCache.getEntry(DirectoryCache.java:121) ~[nuxeo-platform-directory-api-10.10.jar:?]
        	at org.nuxeo.ecm.directory.BaseSession.getEntry(BaseSession.java:344) ~[nuxeo-platform-directory-api-10.10.jar:?]
        	at org.nuxeo.ecm.directory.multi.MultiDirectorySession.getEntry(MultiDirectorySession.java:353) ~[nuxeo-platform-directory-multi-10.10.jar:?]
        	at org.nuxeo.ecm.directory.multi.MultiDirectorySession.query(MultiDirectorySession.java:785) ~[nuxeo-platform-directory-multi-10.10.jar:?]
        	at org.nuxeo.ecm.platform.usermanager.UserManagerImpl.searchUsers(UserManagerImpl.java:1108) ~[nuxeo-platform-usermanager-core-10.10.jar:?]
        	at org.nuxeo.ecm.platform.usermanager.UserManagerImpl.searchUsers(UserManagerImpl.java:1096) ~[nuxeo-platform-usermanager-core-10.10.jar:?]
        	at org.nuxeo.ecm.platform.usermanager.UserManagerImpl.searchUsers(UserManagerImpl.java:1004) ~[nuxeo-platform-usermanager-core-10.10.jar:?]
        	at org.nuxeo.ecm.platform.usermanager.providers.AbstractUsersPageProvider.searchAllUsers(AbstractUsersPageProvider.java:131) ~[nuxeo-platform-usermanager-api-10.10.jar:?]
        	at org.nuxeo.ecm.platform.usermanager.providers.AbstractUsersPageProvider.searchUsers(AbstractUsersPageProvider.java:138) ~[nuxeo-platform-usermanager-api-10.10.jar:?]
        	at org.nuxeo.ecm.platform.usermanager.providers.AbstractUsersPageProvider.computeCurrentPage(AbstractUsersPageProvider.java:80) ~[nuxeo-platform-usermanager-api-10.10.jar:?]
        	at org.nuxeo.ecm.platform.usermanager.providers.NuxeoPrincipalsPageProvider.getCurrentPage(NuxeoPrincipalsPageProvider.java:46) ~[nuxeo-platform-usermanager-api-10.10.jar:?]
        	at org.nuxeo.ecm.automation.core.util.PaginablePageProvider.<init>(PaginablePageProvider.java:43) ~[nuxeo-core-io-10.10.jar:?]
        	at org.nuxeo.ecm.restapi.server.jaxrs.PaginableObject.getPaginableEntries(PaginableObject.java:90) ~[nuxeo-rest-api-server-10.10.jar:?]
        	at org.nuxeo.ecm.restapi.server.jaxrs.PaginableObject.getPaginableEntries(PaginableObject.java:85) ~[nuxeo-rest-api-server-10.10.jar:?]
        	at org.nuxeo.ecm.restapi.server.jaxrs.usermanager.AbstractUMRootObject.search(AbstractUMRootObject.java:75) ~[nuxeo-rest-api-server-10.10.jar:?]
        	...
        Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
        	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662) ~[?:1.8.0_181]
        	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) ~[?:1.8.0_181]
        	at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:350) ~[?:1.8.0_181]
        	at javax.naming.directory.InitialDirContext.getURLOrDefaultInitDirCtx(InitialDirContext.java:106) ~[?:1.8.0_181]
        	at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:286) ~[?:1.8.0_181]
        	at sun.reflect.GeneratedMethodAccessor348.invoke(Unknown Source) ~[?:?]
        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
        	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
        	at org.nuxeo.ecm.directory.ldap.LdapRetryHandler.invoke(LdapRetryHandler.java:58) ~[nuxeo-platform-directory-ldap-10.10.jar:?]
        	at com.sun.proxy.$Proxy165.search(Unknown Source) ~[?:?]
        	at org.nuxeo.ecm.directory.ldap.LDAPSession.getLdapEntry(LDAPSession.java:365) ~[nuxeo-platform-directory-ldap-10.10.jar:?]
        	at org.nuxeo.ecm.directory.ldap.LDAPSession.getEntryFromSource(LDAPSession.java:428) ~[nuxeo-platform-directory-ldap-10.10.jar:?]
        	... 134 more
        

      Expected behavior: there should be no error
      Note: the same configuration works fine with 9.10
      Note 2: a full LDAP configuration works fine in 10.10 too, so this seems to be specific to the multidirectory mode

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 hours
                2h