[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