Hello,
I writed a custom login module for an ejb 3 application. I have a swing app client, which has a login/password dialog. It used to work on Oracle AS, and we are moving to Sun AS. I've been looking for two days, still can't find the last errors.
My problems:
- I followed various instructions, extended AppservRealm/AppservPasswordLoginModule, configured everything I could read about (login.conf, domain.xml, <realm> in sun-application.xml). Now, I can see my login module's init method is called at server startup... and that's all. I then get this in server.log:
Logging in user [df] into realm: doctoratsRealm using JAAS module: doctoratsRealm
Login module initialized: class be.uclouvain.doctorat.auth.DoctoratsLoginModule
JAAS login complete.
JAAS authentication aborted.
SEC5046: Audit: Authentication refused for [df].
doPasswordLogin fails
javax.security.auth.login.LoginException: Echec de connexion : tous les modules ont été ignorés
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:921)
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:580)
at com.sun.enterprise.security.auth.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:295)
at com.sun.enterprise.security.auth.LoginContextDriver.login(LoginContextDriver.java:170)
at com.sun.enterprise.iiop.security.SecurityServiceImpl$1.run(SecurityServiceImpl.java:306)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.enterprise.iiop.security.SecurityServiceImpl.authenticate(SecurityServiceImpl.java:304)
at com.sun.enterprise.iiop.security.SecurityServiceImpl.setSecurityContext(SecurityServiceImpl.java:202)
at com.sun.enterprise.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:553)
at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:627)
at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:530)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:406)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:224)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1846)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1706)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1088)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:223)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:806)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:563)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2567)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:555)
and I get an exception on the client (CORBA NO_PERMISSION 0 No)
- how to set up a password callback so that the user isn't prompted for password at connection, but with the cached username/password from my password dialog? I tried this, with no luck:
ProgrammaticLogin pm = new ProgrammaticLogin();
pm.login(username, password);
(nothing in the logs)
[Message sent by forum member 'ymajoros' (ymajoros)]
http://forums.java.net/jive/thread.jspa?messageID=255826