[jboss-user] [Security & JAAS/JBoss] - Re: NullPointerException @ DatabaseServerLoginModule.java:14

jahebe do-not-reply at jboss.com
Wed Jan 23 03:00:23 EST 2008


Ha! Famous last words!

Well, at least I now know that the cause of the problem is somehow embedded in my EAR.

Log excerpt that shows first a login attempt to the EAR contained GWT application, then a login attempt to the JMX console.
Both uses the same security-domain, but the first fails with the afore mentioned NPE and the last with a gracefull error message (expected)


  | 2008-01-23 08:49:05,735 TRACE [org.jboss.security.plugins.JaasSecurityManager] Constructing
  | 2008-01-23 08:49:05,735 DEBUG [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] CallbackHandler: org.jboss.security.auth.callback.SecurityAssociationHandler at 2c4120aa
  | 2008-01-23 08:49:05,735 DEBUG [org.jboss.security.plugins.JaasSecurityManagerService] Created securityMgr=org.jboss.security.plugins.JaasSecurityManager at 67c78f98
  | 2008-01-23 08:49:05,736 DEBUG [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] CachePolicy set to: org.jboss.util.TimedCachePolicy at 5ea47962
  | 2008-01-23 08:49:05,736 DEBUG [org.jboss.security.plugins.JaasSecurityManagerService] setCachePolicy, c=org.jboss.util.TimedCachePolicy at 5ea47962
  | 2008-01-23 08:49:05,736 DEBUG [org.jboss.security.plugins.JaasSecurityManagerService] Added fluxmonClocker, org.jboss.security.plugins.SecurityDomainContext at 1d4179 to map
  | 2008-01-23 08:49:05,736 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] Begin isValid, principal:+4797516690, cache info: null
  | 2008-01-23 08:49:05,736 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] defaultLogin, principal=+4797516690
  | 2008-01-23 08:49:05,736 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] Begin getAppConfigurationEntry(fluxmonClocker), size=8
  | 2008-01-23 08:49:05,736 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] End getAppConfigurationEntry(fluxmonClocker), authInfo=AppConfigurationEntry[]:
  | [0]
  | LoginModule Class: org.jboss.security.auth.spi.DatabaseServerLoginModule
  | ControlFlag: LoginModuleControlFlag: required
  | Options:name=rolesQuery, value=SELECT ROLE, 'Roles' FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | name=principalsQuery, value=SELECT PASSWORD FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | name=unauthenticatedIdentity, value=guest
  | name=dsJndiName, value=java:/FluxMonAuthDS
  | 
  | 2008-01-23 08:49:05,741 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] initialize, instance=@410572006
  | 2008-01-23 08:49:05,741 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Security domain: fluxmonClocker
  | 2008-01-23 08:49:05,741 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Saw unauthenticatedIdentity=guest
  | 2008-01-23 08:49:05,742 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] DatabaseServerLoginModule, dsJndiName=java:/FluxMonAuthDS
  | 2008-01-23 08:49:05,742 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] principalsQuery=SELECT PASSWORD FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | 2008-01-23 08:49:05,742 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] rolesQuery=SELECT ROLE, 'Roles' FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | 2008-01-23 08:49:05,742 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] suspendResume=true
  | 2008-01-23 08:49:05,742 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] login
  | 2008-01-23 08:49:05,743 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] suspendAnyTransaction
  | 2008-01-23 08:49:05,746 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] resumeAnyTransaction
  | 2008-01-23 08:49:05,755 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] abort
  | 2008-01-23 08:49:05,755 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] Login failure
  | javax.security.auth.login.LoginException: java.lang.NullPointerException
  | 	at org.jboss.security.auth.spi.DatabaseServerLoginModule.getUsersPassword(DatabaseServerLoginModule.java:141)
  | 	at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:206)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
  | 	at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
  | 	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
  | 	at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
  | 	at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:603)
  | 	at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:537)
  | 	at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:344)
  | 	at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.authenticate(JBossSecurityMgrRealm.java:491)
  | 	at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:180)
  | 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  | 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
  | 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  | 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
  | 	at java.lang.Thread.run(Thread.java:595)
  | 
  | 	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:872)
  | 	at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
  | 	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
  | 	at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
  | 	at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:603)
  | 	at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:537)
  | 	at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:344)
  | 	at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.authenticate(JBossSecurityMgrRealm.java:491)
  | 	at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:180)
  | 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  | 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
  | 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  | 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
  | 	at java.lang.Thread.run(Thread.java:595)
  | 2008-01-23 08:49:05,756 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] End isValid, false
  | 2008-01-23 08:49:05,756 TRACE [org.jboss.security.SecurityAssociation] clear, server=true
  | 2008-01-23 08:49:48,652 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - first pass <Wed, 23 Jan 2008 08:49:48>
  | 2008-01-23 08:49:48,652 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] StatusModule: first pass 
  | 2008-01-23 08:49:48,652 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_3] - TORecoveryModule - first pass
  | 2008-01-23 08:49:48,653 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.firstpass] Local XARecoveryModule - first pass
  | 2008-01-23 08:49:58,670 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - second pass <Wed, 23 Jan 2008 08:49:58>
  | 2008-01-23 08:49:58,670 DEBUG [com.arjuna.ats.arjuna.logging.arjLogger] AtomicActionRecoveryModule: Second pass 
  | 2008-01-23 08:49:58,670 DEBUG [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_6] - TORecoveryModule - second pass
  | 2008-01-23 08:49:58,670 DEBUG [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.secondpass] Local XARecoveryModule - second pass
  | 2008-01-23 08:49:59,635 TRACE [org.jboss.security.SecurityAssociation] clear, server=true
  | 2008-01-23 08:50:09,707 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] Begin isValid, principal:+4797516690, cache info: null
  | 2008-01-23 08:50:09,707 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] defaultLogin, principal=+4797516690
  | 2008-01-23 08:50:09,707 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] Begin getAppConfigurationEntry(fluxmonClocker), size=8
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] End getAppConfigurationEntry(fluxmonClocker), authInfo=AppConfigurationEntry[]:
  | [0]
  | LoginModule Class: org.jboss.security.auth.spi.DatabaseServerLoginModule
  | ControlFlag: LoginModuleControlFlag: required
  | Options:name=rolesQuery, value=SELECT ROLE, 'Roles' FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | name=principalsQuery, value=SELECT PASSWORD FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | name=unauthenticatedIdentity, value=guest
  | name=dsJndiName, value=java:/FluxMonAuthDS
  | 
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] initialize, instance=@149976429
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Security domain: fluxmonClocker
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Saw unauthenticatedIdentity=guest
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] DatabaseServerLoginModule, dsJndiName=java:/FluxMonAuthDS
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] principalsQuery=SELECT PASSWORD FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] rolesQuery=SELECT ROLE, 'Roles' FROM CLOCKER_USERS WHERE PHONENUMBER=?
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] suspendResume=true
  | 2008-01-23 08:50:09,708 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] login
  | 2008-01-23 08:50:09,709 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] suspendAnyTransaction
  | 2008-01-23 08:50:09,709 DEBUG [org.jboss.resource.connectionmanager.IdleRemover] internalRegisterPool: registering pool with interval 900000 old interval: 450000
  | 2008-01-23 08:50:09,716 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Excuting query: SELECT PASSWORD FROM CLOCKER_USERS WHERE PHONENUMBER=?, with username: +4797516690
  | 2008-01-23 08:50:09,753 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] Obtained user password
  | 2008-01-23 08:50:09,753 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] resumeAnyTransaction
  | 2008-01-23 08:50:09,753 DEBUG [org.jboss.security.auth.spi.DatabaseServerLoginModule] Bad password for username=+4797516690
  | 2008-01-23 08:50:09,753 TRACE [org.jboss.security.auth.spi.DatabaseServerLoginModule] abort
  | 2008-01-23 08:50:09,753 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] Login failure
  | javax.security.auth.login.FailedLoginException: Password Incorrect/Password Required
  | 	at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:213)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
  | 	at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
  | 	at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
  | 	at java.security.AccessController.doPrivileged(Native Method)
  | 	at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
  | 	at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
  | 	at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:603)
  | 	at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:537)
  | 	at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:344)
  | 	at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.authenticate(JBossSecurityMgrRealm.java:491)
  | 	at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:180)
  | 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
  | 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  | 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
  | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
  | 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  | 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
  | 	at java.lang.Thread.run(Thread.java:595)
  | 2008-01-23 08:50:09,754 TRACE [org.jboss.security.plugins.JaasSecurityManager.fluxmonClocker] End isValid, false
  | 2008-01-23 08:50:09,754 TRACE [org.jboss.security.SecurityAssociation] clear, server=true
  | 

I'll keep digging into my own mess, and post the resolution here - for future references. :-)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4122496#4122496

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4122496



More information about the jboss-user mailing list