Hello,
We are using XWiki 9.9 with the LDAP authenticator extension installed, version 9.2.5. We have defined our own authenticator [1] which extends org.xwiki.contrib.ldap.XWikiLDAPAuthServiceImpl and basically converts XWiki usernames to lowercase. In xwiki.cfg, when setting the parameter xwiki.authentication.authclass to its default value, everything works as expected. However, when setting the value to the custom authenticator class name, we get a NoClassDefFoundError exception as shown below. At the moment we have no idea on how to debug this. Any help would be greatly appreciated.
[1] https://gitlab.ow2.org/ow2/ldap-authenticator-lowercase-uid
Raised exception:
Caused by: java.lang.NoClassDefFoundError: org/xwiki/contrib/ldap/XWikiLDAPAuthServiceImpl at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) at java.net.URLClassLoader.access$100(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:368) at java.net.URLClassLoader$1.run(URLClassLoader.java:362) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:361) at org.eclipse.jetty.webapp.WebAppClassLoader.foundClass(WebAppClassLoader.java:644) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:550) at java.lang.ClassLoader.loadClass(ClassLoader.java:411) at java.lang.ClassLoader.loadClass(ClassLoader.java:411) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at com.xpn.xwiki.XWiki.getAuthService(XWiki.java:5077) at com.xpn.xwiki.XWiki.checkAuth(XWiki.java:3801)
Thank you,
Stéphane