[jboss-jira] [JBoss JIRA] (WFLY-1685) Authentication using LDAP security realm with SSL configured fails with ClassNotFoundException

Emmanuel Hugonnet (JIRA) jira-events at lists.jboss.org
Fri Jul 12 06:02:20 EDT 2013


     [ https://issues.jboss.org/browse/WFLY-1685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Emmanuel Hugonnet updated WFLY-1685:
------------------------------------

    Bugzilla Update: Perform

    
> Authentication using LDAP security realm with SSL configured fails with ClassNotFoundException 
> -----------------------------------------------------------------------------------------------
>
>                 Key: WFLY-1685
>                 URL: https://issues.jboss.org/browse/WFLY-1685
>             Project: WildFly
>          Issue Type: Bug
>          Components: Domain Management
>    Affects Versions: 8.0.0.Alpha2, 8.0.0.Alpha3
>            Reporter: Emmanuel Hugonnet
>            Assignee: Emmanuel Hugonnet
>
> When a user configures security domain, which uses RealmDirect with configured LDAP authentication using SSL as described in https://issues.jboss.org/browse/AS7-5246, the authentication fails with ClassNotFoundException. Moreover the exception is only logged on TRACE level, which is the second issue here.
> IMO, the first problem can be simply solved by adding "org.jboss.as.domain-management" module dependency on a right place.
> javax.naming.CommunicationException: 127.0.0.1:10636 [Root exception is java.lang.ClassNotFoundException: org.jboss.as.domain.management.connections.ldap.ThreadLocalSSLSocketFactory from [Module "deployment.ldaps-authn-sd.war:main" from Service Module Loader]]
> 	at com.sun.jndi.ldap.Connection.<init>(Connection.java:224)
> 	at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:136)
> 	at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1600)
> 	at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2698)
> 	at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:316)
> 	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
> 	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:211)
> 	at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
> 	at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
> 	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
> 	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307)
> 	at javax.naming.InitialContext.init(InitialContext.java:242)
> 	at javax.naming.InitialContext.<init>(InitialContext.java:216)
> 	at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)
> 	at org.jboss.as.domain.management.connections.ldap.LdapConnectionManagerService.getConnection(LdapConnectionManagerService.java:112)
> 	at org.jboss.as.domain.management.connections.ldap.LdapConnectionManagerService.getConnection(LdapConnectionManagerService.java:93)
> 	at org.jboss.as.domain.management.security.UserLdapCallbackHandler.handle(UserLdapCallbackHandler.java:186)
> 	at org.jboss.as.domain.management.security.SecurityRealmService$1.handle(SecurityRealmService.java:168)
> 	at org.jboss.as.security.RealmDirectLoginModule.handle(RealmDirectLoginModule.java:175)
> 	at org.jboss.as.security.RealmDirectLoginModule.validatePassword(RealmDirectLoginModule.java:206)
> 	at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:281)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:784)
> 	at javax.security.auth.login.LoginContext.access$000(LoginContext.java:203)
> 	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:698)
> 	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:696)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:695)
> 	at javax.security.auth.login.LoginContext.login(LoginContext.java:594)
> 	at org.jboss.security.authentication.JBossCachedAuthenticationManager.defaultLogin(JBossCachedAuthenticationManager.java:408)
> 	at org.jboss.security.authentication.JBossCachedAuthenticationManager.proceedWithJaasLogin(JBossCachedAuthenticationManager.java:345)
> 	at org.jboss.security.authentication.JBossCachedAuthenticationManager.authenticate(JBossCachedAuthenticationManager.java:333)
> 	at org.jboss.security.authentication.JBossCachedAuthenticationManager.isValid(JBossCachedAuthenticationManager.java:146)
> 	at org.jboss.as.web.security.JBossWebRealm.authenticate(JBossWebRealm.java:216)
> 	at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:178)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:447)
> 	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.ClassNotFoundException: org.jboss.as.domain.management.connections.ldap.ThreadLocalSSLSocketFactory from [Module "deployment.ldaps-authn-sd.war:main" from Service Module Loader]
> 	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196)
> 	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444)
> 	at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432)
> 	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374)
> 	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119)
> 	at java.lang.Class.forName0(Native Method)
> 	at java.lang.Class.forName(Class.java:264)
> 	at com.sun.jndi.ldap.VersionHelper12.loadClass(VersionHelper12.java:71)
> 	at com.sun.jndi.ldap.Connection.createSocket(Connection.java:284)
> 	at com.sun.jndi.ldap.Connection.<init>(Connection.java:201)
> 	... 47 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list