<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">
<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>
                                <td>
                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>
                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px; -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
My custom login module class could not be found by JBOSS???
</h3>
<span style="margin-bottom: 10px;">
created by <a href="https://community.jboss.org/people/sekobey">Serkan Yıldırım</a> in <i>JBoss AS 7 Development</i> - <a href="https://community.jboss.org/message/732090#732090">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi everybody,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>I'm working on login a remote ejb client to the JBOSS 7.1.1 server for a one week, however i am not successful. I use my own security-domain which consists of remoting, LdapExtended and my custom login module. I see in the logs LdapExt login is successful, however my login module class is not found. I tried deploying my login module in a jar which in my ear file, i define a new module in modules folder and i add module tag in login module definition in standalone.xml and at last i tried changing org/jboss/as/remoting module's xml file by adding my login module jar as resource-root. However my all trials are failed. Now i don't know how JBOSS show my custom login module.</p><p>I added standalone.xml, myloginmodule.jar as attachments. jar file is added as resource root in org/jboss/as/remoting/module.xml. My client code is like this, there is no jboss-ejb-client.properties because i give parameters as hard-coded.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><span style="font-size: 12pt;"><strong>My client code:</strong></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Properties pr = new Properties();</p><p>pr.put("endpoint.name", "client-endpoint");</p><p>pr.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");</p><p>pr.put("remote.connections", "default");</p><p>pr.put("remote.connection.default.port", "4447");</p><p>pr.put("remote.connection.default.host", "10.204.10.54");</p><p>pr.put("remote.connection.default.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS", "JBOSS-LOCAL-USER");</p><p>pr.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");</p><p>pr.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");</p><p>pr.put("remote.connection.default.username", "49351259682");</p><p>pr.put("remote.connection.default.password", "Test12345");</p><p>EJBClientConfiguration cc = new PropertiesBasedEJBClientConfiguration(pr);</p><p>ContextSelector < EJBClientContext > selector = new ConfigBasedEJBClientContextSelector(cc);</p><p>EJBClientContext.setSelector(selector);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Properties props = new Properties();</p><p>props.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");</p><p>props.put("jboss.naming.client.ejb.context", true);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>try {</p><p>      Context c = new InitialContext(props);</p><p>      kullaniciEJB = (KullaniciEJBRemote) c.lookup("ejb:merveys-kayit-tckkys/merveys-kayit-ejb-tckkys//KullaniciEJB!tr.gov.tubitak.bilgem.uekae.deys.tckk.merveys.common.controller.ejb.kullanici.KullaniciEJBRemote");</p><p>} catch (NamingException e) {</p><p>      e.printStackTrace();</p><p>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>int count = kullaniciEJB.countKartIslemList(1L, null, null);</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p><strong style="font-size: 12pt;">Error log is below:</strong></p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>11:26:59,626 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] (Remoting "sekobey" task-2) Begin getAppConfigurationEntry(TckkysSecurity), size</p><p>=4</p><p>11:26:59,628 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] (Remoting "sekobey" task-2) End getAppConfigurationEntry(TckkysSecurity), authIn</p><p>fo=AppConfigurationEntry[]:</p><p>[0]</p><p>LoginModule Class: org.jboss.as.security.remoting.RemotingLoginModule</p><p>ControlFlag: LoginModuleControlFlag: optional</p><p>Options:</p><p>name=password-stacking, value=useFirstPass</p><p>[1]</p><p>LoginModule Class: org.jboss.security.auth.spi.LdapExtLoginModule</p><p>ControlFlag: LoginModuleControlFlag: required</p><p>Options:</p><p>name=baseFilter, value=(sAMAccountName={0})</p><p>name=bindDN, value=tckk\administrator</p><p>name=rolesCtxDN, value=cn=Users,dc=TCKK,dc=net</p><p>name=roleNameAttributeID, value=name</p><p>name=baseCtxDN, value=ou=TCKK,dc=TCKK,dc=net</p><p>name=password-stacking, value=useFirstPass</p><p>name=java.naming.factory.initial, value=com.sun.jndi.ldap.LdapCtxFactory</p><p>name=java.naming.security.authentication, value=simple</p><p>name=roleFilter, value=(member={1})</p><p>name=allowEmptyPasswords, value=false</p><p>name=java.naming.provider.url, value=ldap://tckk_ldap:389</p><p>name=bindCredential, value=****</p><p>name=roleAttributeIsDN, value=true</p><p>name=searchScope, value=ONELEVEL_SCOPE</p><p>name=throwValidateError, value=true</p><p>[2]</p><p>LoginModule Class: tr.gov.tubitak.bilgem.uekae.deys.tckk.merveys.kayit.controller.util.KysRolLoginModule</p><p>ControlFlag: LoginModuleControlFlag: required</p><p>Options:</p><p>name=dsJndiName, value=java:/TckkDS</p><p>name=password-stacking, value=useFirstPass</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>11:26:59,677 TRACE [org.jboss.as.security.remoting.RemotingLoginModule] (Remoting "sekobey" task-2) initialize</p><p>11:26:59,679 TRACE [org.jboss.as.security.remoting.RemotingLoginModule] (Remoting "sekobey" task-2) Security domain: TckkysSecurity</p><p>11:26:59,681 TRACE [org.jboss.as.security.remoting.RemotingLoginModule] (Remoting "sekobey" task-2) login</p><p>11:26:59,682 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) initialize</p><p>11:26:59,684 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Security domain: TckkysSecurity</p><p>11:26:59,685 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) login</p><p>11:26:59,686 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Failed to parse: null, disabling recursion: java.lang.</p><p>NumberFormatException: null</p><p>        at java.lang.Integer.parseInt(Integer.java:417) [rt.jar:1.6.0_26]</p><p>        at java.lang.Integer.parseInt(Integer.java:499) [rt.jar:1.6.0_26]</p><p>        at org.jboss.security.auth.spi.LdapExtLoginModule.createLdapInitContext(LdapExtLoginModule.java:395) [picketbox-4.0.7.Final.jar:4.0.7.Final]</p><p>        at org.jboss.security.auth.spi.LdapExtLoginModule.validatePassword(LdapExtLoginModule.java:312) [picketbox-4.0.7.Final.jar:4.0.7.Final]</p><p>        at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:267) [picketbox-4.0.7.Final.jar:4.0.7.Final]</p><p>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_26]</p><p>        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_26]</p><p>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_26]</p><p>        at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_26]</p><p>        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769) [rt.jar:1.6.0_26]</p><p>        at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) [rt.jar:1.6.0_26]</p><p>        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) [rt.jar:1.6.0_26]</p><p>        at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_26]</p><p>        at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) [rt.jar:1.6.0_26]</p><p>        at javax.security.auth.login.LoginContext.login(LoginContext.java:579) [rt.jar:1.6.0_26]</p><p>        at org.jboss.as.domain.management.security.JaasCallbackHandler.handle(JaasCallbackHandler.java:126) [jboss-as-domain-management-7.1.1.Final.ja</p><p>r:7.1.1.Final]</p><p>        at org.jboss.as.remoting.RealmSecurityProvider$RealmCallbackHandler.handle(RealmSecurityProvider.java:418) [jboss-as-remoting-7.1.1.Final.jar:</p><p>7.1.1.Final]</p><p>        at org.jboss.sasl.util.AbstractSaslParticipant.tryHandleCallbacks(AbstractSaslParticipant.java:98) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]</p><p>        at org.jboss.sasl.util.AbstractSaslParticipant.handleCallbacks(AbstractSaslParticipant.java:83) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]</p><p>        at org.jboss.sasl.plain.PlainSaslServer.access$000(PlainSaslServer.java:41) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]</p><p>        at org.jboss.sasl.plain.PlainSaslServer$1.evaluateMessage(PlainSaslServer.java:95) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]</p><p>        at org.jboss.sasl.util.AbstractSaslParticipant.evaluateMessage(AbstractSaslParticipant.java:165) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]</p><p>        at org.jboss.sasl.util.AbstractSaslServer.evaluateResponse(AbstractSaslServer.java:56) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]</p><p>        at org.xnio.sasl.SaslUtils.evaluateResponse(SaslUtils.java:194) [xnio-api-3.0.3.GA.jar:3.0.3.GA]</p><p>        at org.jboss.remoting3.remote.ServerConnectionOpenListener$AuthStepRunnable.run(ServerConnectionOpenListener.java:407) [jboss-remoting-3.2.3.G</p><p>A.jar:3.2.3.GA]</p><p>        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_26]</p><p>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_26]</p><p>        at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_26]</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>11:26:59,745 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Logging into LDAP server, env={throwValidateError=true</p><p>, baseFilter=(sAMAccountName={0}), allowEmptyPasswords=false, java.naming.security.credentials=***, jboss.security.security_domain=TckkysSecurity, pas</p><p>sword-stacking=useFirstPass, java.naming.security.authentication=simple, baseCtxDN=ou=TCKK,dc=TCKK,dc=net, roleAttributeIsDN=true, rolesCtxDN=cn=Users</p><p>,dc=TCKK,dc=net, java.naming.security.principal=tckk\administrator, searchScope=ONELEVEL_SCOPE, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxF</p><p>actory, roleFilter=(member={1}), java.naming.provider.url=ldap://tckk_ldap:389, roleNameAttributeID=name, bindDN=tckk\administrator, bindCredential=**</p><p>*}</p><p><strong>11:26:59,755 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Logging into LDAP server, env={throwValidateError=true</strong></p><p><strong>, baseFilter=(sAMAccountName={0}), allowEmptyPasswords=false, java.naming.security.credentials=***, jboss.security.security_domain=TckkysSecurity, pas</strong></p><p><strong>sword-stacking=useFirstPass, java.naming.security.authentication=simple, baseCtxDN=ou=TCKK,dc=TCKK,dc=net, roleAttributeIsDN=true, rolesCtxDN=cn=Users</strong></p><p><strong>,dc=TCKK,dc=net, java.naming.security.principal=CN=serkan y²ld²r²m,OU=TCKK,DC=TCKK,DC=net, searchScope=ONELEVEL_SCOPE, java.naming.factory.initial=com</strong></p><p><strong>.sun.jndi.ldap.LdapCtxFactory, roleFilter=(member={1}), java.naming.provider.url=ldap://tckk_ldap:389, roleNameAttributeID=name, bindDN=tckk\administr</strong></p><p><strong>ator, bindCredential=***}</strong></p><p><strong>11:26:59,763 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) User '49351259682' authenticated, loginOk=true</strong></p><p>11:26:59,764 TRACE [org.jboss.remoting.remote.server] (Remoting "sekobey" task-2) Server sending authentication rejected (javax.security.sasl.SaslExce</p><p><strong>ption: Callback handler invocation failed [Caused by java.lang.NoClassDefFoundError: Could not initialize class tr.gov.tubitak.bilgem.uekae.deys.tckk.</strong></p><p><strong>merveys.kayit.controller.util.KysRolLoginModule])</strong></p><p>11:26:59,767 TRACE [org.xnio.channels.framed] (Remoting "sekobey" task-2) Accepting java.nio.HeapByteBuffer[pos=0 lim=1 cap=8192] into java.nio.HeapBy</p><p>teBuffer[pos=0 lim=8196 cap=8196]</p><p>11:26:59,769 TRACE [org.xnio.channels.framed] (Remoting "sekobey" task-2) Accepted a message into java.nio.HeapByteBuffer[pos=5 lim=8196 cap=8196]</p><p>11:26:59,770 TRACE [org.xnio.channels.framed] (Remoting "sekobey" task-2) Fully flushed org.xnio.channels.FramedMessageChannel around TCP socket chann</p><p>el (NIO) <1de0ed6></p><p>11:26:59,771 TRACE [org.xnio.nio.selector] (Remoting "sekobey" read-1) Selected on sun.nio.ch.WindowsSelectorImpl@18abaa4</p><p>11:26:59,771 TRACE [org.jboss.remoting.remote.connection] (Remoting "sekobey" task-2) Sent message java.nio.HeapByteBuffer[pos=1 lim=1 cap=8192] (dire</p><p>ct)</p><p>11:26:59,772 TRACE [org.xnio.nio.selector] (Remoting "sekobey" read-1) Selected key sun.nio.ch.SelectionKeyImpl@1a01913 for java.nio.channels.SocketCh</p><p>annel[connected local=SEKOBEY.ug.net/10.204.10.54:4447 remote=/10.204.10.54:54551]</p><p>11:26:59,773 TRACE [org.xnio.channels.framed] (Remoting "sekobey" task-2) Fully flushed org.xnio.channels.FramedMessageChannel around TCP socket chann</p><p>el (NIO) <1de0ed6></p><p>11:26:59,774 TRACE [org.xnio.listener] (Remoting "sekobey" read-1) Invoking listener Read listener for org.xnio.channels.FramedMessageChannel around T</p><p>CP socket channel (NIO) <1de0ed6> on channel TCP socket channel (NIO) <1de0ed6></p><p>11:26:59,774 TRACE [org.jboss.remoting.remote.connection] (Remoting "sekobey" task-2) Flushed channel (direct)</p></div>
<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
<p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/732090#732090">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss AS 7 Development at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>