JBoss Community

My custom login module class could not be found by JBOSS???

created by Serkan Yıldırım in JBoss AS 7 Development - View the full discussion

Hi everybody,

 

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.

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.

 

My client code:

 

Properties pr = new Properties();

pr.put("endpoint.name", "client-endpoint");

pr.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");

pr.put("remote.connections", "default");

pr.put("remote.connection.default.port", "4447");

pr.put("remote.connection.default.host", "10.204.10.54");

pr.put("remote.connection.default.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS", "JBOSS-LOCAL-USER");

pr.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");

pr.put("remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");

pr.put("remote.connection.default.username", "49351259682");

pr.put("remote.connection.default.password", "Test12345");

EJBClientConfiguration cc = new PropertiesBasedEJBClientConfiguration(pr);

ContextSelector < EJBClientContext > selector = new ConfigBasedEJBClientContextSelector(cc);

EJBClientContext.setSelector(selector);

 

 

Properties props = new Properties();

props.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");

props.put("jboss.naming.client.ejb.context", true);

 

 

try {

      Context c = new InitialContext(props);

      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");

} catch (NamingException e) {

      e.printStackTrace();

}

 

int count = kullaniciEJB.countKartIslemList(1L, null, null);

 

Error log is below:

 

11:26:59,626 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] (Remoting "sekobey" task-2) Begin getAppConfigurationEntry(TckkysSecurity), size

=4

11:26:59,628 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] (Remoting "sekobey" task-2) End getAppConfigurationEntry(TckkysSecurity), authIn

fo=AppConfigurationEntry[]:

[0]

LoginModule Class: org.jboss.as.security.remoting.RemotingLoginModule

ControlFlag: LoginModuleControlFlag: optional

Options:

name=password-stacking, value=useFirstPass

[1]

LoginModule Class: org.jboss.security.auth.spi.LdapExtLoginModule

ControlFlag: LoginModuleControlFlag: required

Options:

name=baseFilter, value=(sAMAccountName={0})

name=bindDN, value=tckk\administrator

name=rolesCtxDN, value=cn=Users,dc=TCKK,dc=net

name=roleNameAttributeID, value=name

name=baseCtxDN, value=ou=TCKK,dc=TCKK,dc=net

name=password-stacking, value=useFirstPass

name=java.naming.factory.initial, value=com.sun.jndi.ldap.LdapCtxFactory

name=java.naming.security.authentication, value=simple

name=roleFilter, value=(member={1})

name=allowEmptyPasswords, value=false

name=java.naming.provider.url, value=ldap://tckk_ldap:389

name=bindCredential, value=****

name=roleAttributeIsDN, value=true

name=searchScope, value=ONELEVEL_SCOPE

name=throwValidateError, value=true

[2]

LoginModule Class: tr.gov.tubitak.bilgem.uekae.deys.tckk.merveys.kayit.controller.util.KysRolLoginModule

ControlFlag: LoginModuleControlFlag: required

Options:

name=dsJndiName, value=java:/TckkDS

name=password-stacking, value=useFirstPass

 

 

11:26:59,677 TRACE [org.jboss.as.security.remoting.RemotingLoginModule] (Remoting "sekobey" task-2) initialize

11:26:59,679 TRACE [org.jboss.as.security.remoting.RemotingLoginModule] (Remoting "sekobey" task-2) Security domain: TckkysSecurity

11:26:59,681 TRACE [org.jboss.as.security.remoting.RemotingLoginModule] (Remoting "sekobey" task-2) login

11:26:59,682 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) initialize

11:26:59,684 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Security domain: TckkysSecurity

11:26:59,685 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) login

11:26:59,686 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Failed to parse: null, disabling recursion: java.lang.

NumberFormatException: null

        at java.lang.Integer.parseInt(Integer.java:417) [rt.jar:1.6.0_26]

        at java.lang.Integer.parseInt(Integer.java:499) [rt.jar:1.6.0_26]

        at org.jboss.security.auth.spi.LdapExtLoginModule.createLdapInitContext(LdapExtLoginModule.java:395) [picketbox-4.0.7.Final.jar:4.0.7.Final]

        at org.jboss.security.auth.spi.LdapExtLoginModule.validatePassword(LdapExtLoginModule.java:312) [picketbox-4.0.7.Final.jar:4.0.7.Final]

        at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:267) [picketbox-4.0.7.Final.jar:4.0.7.Final]

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_26]

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_26]

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_26]

        at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_26]

        at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769) [rt.jar:1.6.0_26]

        at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) [rt.jar:1.6.0_26]

        at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) [rt.jar:1.6.0_26]

        at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_26]

        at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) [rt.jar:1.6.0_26]

        at javax.security.auth.login.LoginContext.login(LoginContext.java:579) [rt.jar:1.6.0_26]

        at org.jboss.as.domain.management.security.JaasCallbackHandler.handle(JaasCallbackHandler.java:126) [jboss-as-domain-management-7.1.1.Final.ja

r:7.1.1.Final]

        at org.jboss.as.remoting.RealmSecurityProvider$RealmCallbackHandler.handle(RealmSecurityProvider.java:418) [jboss-as-remoting-7.1.1.Final.jar:

7.1.1.Final]

        at org.jboss.sasl.util.AbstractSaslParticipant.tryHandleCallbacks(AbstractSaslParticipant.java:98) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]

        at org.jboss.sasl.util.AbstractSaslParticipant.handleCallbacks(AbstractSaslParticipant.java:83) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]

        at org.jboss.sasl.plain.PlainSaslServer.access$000(PlainSaslServer.java:41) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]

        at org.jboss.sasl.plain.PlainSaslServer$1.evaluateMessage(PlainSaslServer.java:95) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]

        at org.jboss.sasl.util.AbstractSaslParticipant.evaluateMessage(AbstractSaslParticipant.java:165) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]

        at org.jboss.sasl.util.AbstractSaslServer.evaluateResponse(AbstractSaslServer.java:56) [jboss-sasl-1.0.0.Final.jar:1.0.0.Final]

        at org.xnio.sasl.SaslUtils.evaluateResponse(SaslUtils.java:194) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

        at org.jboss.remoting3.remote.ServerConnectionOpenListener$AuthStepRunnable.run(ServerConnectionOpenListener.java:407) [jboss-remoting-3.2.3.G

A.jar:3.2.3.GA]

        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_26]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_26]

        at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_26]

 

 

11:26:59,745 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Logging into LDAP server, env={throwValidateError=true

, baseFilter=(sAMAccountName={0}), allowEmptyPasswords=false, java.naming.security.credentials=***, jboss.security.security_domain=TckkysSecurity, pas

sword-stacking=useFirstPass, java.naming.security.authentication=simple, baseCtxDN=ou=TCKK,dc=TCKK,dc=net, roleAttributeIsDN=true, rolesCtxDN=cn=Users

,dc=TCKK,dc=net, java.naming.security.principal=tckk\administrator, searchScope=ONELEVEL_SCOPE, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxF

actory, roleFilter=(member={1}), java.naming.provider.url=ldap://tckk_ldap:389, roleNameAttributeID=name, bindDN=tckk\administrator, bindCredential=**

*}

11:26:59,755 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) Logging into LDAP server, env={throwValidateError=true

, baseFilter=(sAMAccountName={0}), allowEmptyPasswords=false, java.naming.security.credentials=***, jboss.security.security_domain=TckkysSecurity, pas

sword-stacking=useFirstPass, java.naming.security.authentication=simple, baseCtxDN=ou=TCKK,dc=TCKK,dc=net, roleAttributeIsDN=true, rolesCtxDN=cn=Users

,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

.sun.jndi.ldap.LdapCtxFactory, roleFilter=(member={1}), java.naming.provider.url=ldap://tckk_ldap:389, roleNameAttributeID=name, bindDN=tckk\administr

ator, bindCredential=***}

11:26:59,763 TRACE [org.jboss.security.auth.spi.LdapExtLoginModule] (Remoting "sekobey" task-2) User '49351259682' authenticated, loginOk=true

11:26:59,764 TRACE [org.jboss.remoting.remote.server] (Remoting "sekobey" task-2) Server sending authentication rejected (javax.security.sasl.SaslExce

ption: Callback handler invocation failed [Caused by java.lang.NoClassDefFoundError: Could not initialize class tr.gov.tubitak.bilgem.uekae.deys.tckk.

merveys.kayit.controller.util.KysRolLoginModule])

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

teBuffer[pos=0 lim=8196 cap=8196]

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]

11:26:59,770 TRACE [org.xnio.channels.framed] (Remoting "sekobey" task-2) Fully flushed org.xnio.channels.FramedMessageChannel around TCP socket chann

el (NIO) <1de0ed6>

11:26:59,771 TRACE [org.xnio.nio.selector] (Remoting "sekobey" read-1) Selected on sun.nio.ch.WindowsSelectorImpl@18abaa4

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

ct)

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

annel[connected local=SEKOBEY.ug.net/10.204.10.54:4447 remote=/10.204.10.54:54551]

11:26:59,773 TRACE [org.xnio.channels.framed] (Remoting "sekobey" task-2) Fully flushed org.xnio.channels.FramedMessageChannel around TCP socket chann

el (NIO) <1de0ed6>

11:26:59,774 TRACE [org.xnio.listener] (Remoting "sekobey" read-1) Invoking listener Read listener for org.xnio.channels.FramedMessageChannel around T

CP socket channel (NIO) <1de0ed6> on channel TCP socket channel (NIO) <1de0ed6>

11:26:59,774 TRACE [org.jboss.remoting.remote.connection] (Remoting "sekobey" task-2) Flushed channel (direct)

Reply to this message by going to Community

Start a new discussion in JBoss AS 7 Development at Community