users@glassfish.java.net

Re: Trying to create certificate login module -- suspect missing jars in ext directory?

From: Kumar Jayanti <v.b.kumar.jayanti_at_oracle.com>
Date: Mon, 12 Mar 2012 14:34:19 +0530

On 11-Mar-2012, at 7:52 AM, forums_at_java.net wrote:

> Hi,
>
> I've pretty much copied the sample AppservCertificateLoginModule project.
>
> After chasing down a number of jar files that I had to include in the ext
> directory, I've ended up with a NullPointerException, once I do a
> commitUserAuthentication.
>
> My ext directory contains these, but I suspect I'm still missing something:
>
> auto-depends.jar common-util-l10n.jar hk2.jar
> internal-api.jar security.jar common-util.jar hk2-core.jar
> LoginModule.jar

You should not be doing this . You only need to copy your LoginModule jar.. I suspect the NPE is because you have tried to copy hk2.jar.

>
> The reason I suspect I'm missing something is that getAppName() is returning
> null. Any suggestions would be gratefully received! Many thanks!!
> FINER: [Sat Mar 10 20:06:17 CST 2012] App = null
>
> WARNING: WEB9102: Web Login Failed:
> com.sun.enterprise.security.auth.login.common.LoginException:
> javax.security.auth.login.LoginException: java.lang.NullPointerException
>
>
>
> at org.glassfish.internal.api.Globals.get(Globals.java:73)
>
> at
> com.sun.enterprise.security.web.integration.PrincipalGroupFactory._getWebSecurityManagerFactory(PrincipalGroupFactory.java:64)
>
> at
> com.sun.enterprise.security.web.integration.PrincipalGroupFactory.getWebSecurityManagerFactory(PrincipalGroupFactory.java:72)
>
> at
> com.sun.enterprise.security.web.integration.PrincipalGroupFactory.getGroupInstance(PrincipalGroupFactory.java:84)
>
> at
> com.sun.appserv.security.AppservCertificateLoginModule.commit(AppservCertificateLoginModule.java:124)
>
> 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:595)
>
> at
> com.sun.enterprise.security.auth.login.LoginContextDriver.doX500Login(LoginContextDriver.java:706)
>
> at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:509)
>
> at com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:466)
>
> at
> org.apache.catalina.authenticator.SSLAuthenticator.authenticate(SSLAuthenticator.java:164)
>
> at
> com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1333)
>
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:551)
>
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:623)
>
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
>
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
>
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
>
> at
> com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
>
> at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
>
> at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
>
> at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
>
> at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
>
> at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
>
> at
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
>
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
>
> at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
>
> at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
>
> at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
>
> at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
>
> at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
>
> at
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
>
> at
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
>
>
>
>
> --
>
> [Message sent by forum member 'chopper']
>
> View Post: http://forums.java.net/node/884176
>
>