users@glassfish.java.net

Re: Non-default security realm and ProgrammaticLogin in Glassfish?

From: <glassfish_at_javadesktop.org>
Date: Sun, 02 Dec 2007 19:57:10 PST

Here is my other other code:
1. The default realm in Glassfish is set as the out-of-box "file" realm
2. A custom LDAP realm named "permit" is configured in Glassfish with username=robot
3. My ejb jar file is packaged with sun-ejb-jar.xml file above
4. In my Java SE client I have the below code to login:
5. programmaticLogin.login("robot", "password", "permit",true)
serviceBean = (PermitServiceRemote) ctx.lookup("ejb/permit/stateless/PermitServiceBean");

6. Here are the log statements in the Glassfish server.log when the lookup executes:
 
[#|2007-12-02T21:30:37.845-0600|FINEST|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;ClassName=com.sun.enterprise.security.auth.LoginContextDriver;MethodName=login;_RequestID=3d3e5adb-9a93-4d91-b39b-c1add44e150e;|Processing login with credentials of type: class com.sun.enterprise.security.auth.login.PasswordCredential|#]

[#|2007-12-02T21:30:37.845-0600|FINE|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;ClassName=com.sun.enterprise.security.auth.LoginContextDriver;MethodName=doPasswordLogin;_RequestID=3d3e5adb-9a93-4d91-b39b-c1add44e150e;|Logging in user [robot] into realm: default using JAAS module: fileRealm|#]

[#|2007-12-02T21:30:37.876-0600|FINE|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;ClassName=com.sun.appserv.security.AppservPasswordLoginModule;MethodName=initialize;_RequestID=3d3e5adb-9a93-4d91-b39b-c1add44e150e;|Login module initialized: class com.sun.enterprise.security.auth.login.FileLoginModule|#]

[#|2007-12-02T21:30:37.876-0600|FINE|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;ClassName=com.sun.enterprise.security.auth.realm.file.FileRealm;MethodName=authenticate;_RequestID=3d3e5adb-9a93-4d91-b39b-c1add44e150e;|File authentication failed for: [robot]|#]

[#|2007-12-02T21:30:37.876-0600|FINE|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;ClassName=com.sun.appserv.security.AppservPasswordLoginModule;MethodName=abort;_RequestID=3d3e5adb-9a93-4d91-b39b-c1add44e150e;|JAAS authentication aborted.|#]

[#|2007-12-02T21:30:37.908-0600|INFO|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;robot;|SEC5046: Audit: Authentication refused for [robot].|#]

[#|2007-12-02T21:30:37.908-0600|FINEST|sun-appserver9.1|javax.enterprise.system.core.security|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;ClassName=com.sun.enterprise.security.auth.LoginContextDriver;MethodName=doPasswordLogin;_RequestID=3d3e5adb-9a93-4d91-b39b-c1add44e150e;|doPasswordLogin fails
javax.security.auth.login.LoginException: Failed file login for robot.
        at com.sun.enterprise.security.auth.login.FileLoginModule.authenticate(FileLoginModule.java:80)
        at com.sun.enterprise.security.auth.login.PasswordLoginModule.authenticateUser(PasswordLoginModule.java:90)
        at com.sun.appserv.security.AppservPasswordLoginModule.login(AppservPasswordLoginModule.java:184)
        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:597)
        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 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:552)
        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)
|#]

[#|2007-12-02T21:30:37.908-0600|SEVERE|sun-appserver9.1|javax.enterprise.resource.corba|_ThreadID=22;_ThreadName=p: thread-pool-1; w: 15;com.sun.enterprise.security.LoginException: Login failed: javax.security.auth.login.LoginException: Failed file login for robot.;_RequestID=3d3e5adb-9a93-4d91-b39b-c1add44e150e;|IOP5049: Login exception: [com.sun.enterprise.security.LoginException: Login failed: javax.security.auth.login.LoginException: Failed file login for robot.]|#]


I hope this helps.
[Message sent by forum member 'r_sudh' (r_sudh)]

http://forums.java.net/jive/thread.jspa?messageID=248211