HI all,
I have written my security realm in geronimo 2.2. when i try to use this
gives an error . the error console and code is given below:
my code:--------------------------
package test;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.security.auth.login.LoginContext;
import com.viithiisys.mdf.admin.user.UserManager;
public class Test {
private static UserManager t;
private static Object obj;
//private static InitialContext icontext;
public static void main(String[] args) {
try {
Properties props = new Properties();
props.put("java.naming.factory.initial","org.apache.openejb.client.RemoteInitialContextFactory");
props.put("java.naming.provider.url", "127.0.0.1:4201");
//props.put("java.naming.provider.url", "localhost:61616");
props.put("java.naming.security.principal", "abhinav");
props.put("java.naming.security.credentials", "ofbiz");
System.out.println("user name and password supplied
.............");
props.setProperty("openejb.authentication.realmName",
"eadmin-security-realm");
Context icontext=new InitialContext(props);
System.out.println("initail context loaded and about to lookup
EJB .............");
obj = icontext.lookup("UserManagerImplRemote");
// t = (UserManager)
PortableRemoteObject.narrow(obj,UserManager.class);
t = (UserManager)obj;
System.out.println("calling method create............." + t);
try{
t.create("Sanju", "test123", "10080", "Sanju", "Heer",
"0172-2565656", "[email protected]", 30);
//t.createRole("Sanjay", "TestRole");
System.out.println("done successfully.................");
}
catch(Exception e)
{
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
the error stack trace is given below:------------
user name and password supplied .............
javax.naming.AuthenticationException: This principle is not authorized.
[Root exception is javax.security.auth.login.LoginException: No LoginModules
configured for eadmin-security-realm]
at
org.apache.openejb.client.JNDIContext.authenticate(JNDIContext.java:173)
at
org.apache.openejb.client.JNDIContext.getInitialContext(JNDIContext.java:114)
at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
at javax.naming.InitialContext.init(InitialContext.java:223)
at javax.naming.InitialContext.<init>(InitialContext.java:197)
at test.Test.main(Test.java:114)
Caused by: javax.security.auth.login.LoginException: No LoginModules
configured for eadmin-security-realm
at javax.security.auth.login.LoginContext.init(LoginContext.java:256)
at javax.security.auth.login.LoginContext.<init>(LoginContext.java:499)
at
org.apache.geronimo.security.ContextManager.login(ContextManager.java:92)
at
org.apache.geronimo.security.ContextManager.login(ContextManager.java:108)
at
org.apache.geronimo.openejb.GeronimoSecurityService.login(GeronimoSecurityService.java:53)
at
org.apache.openejb.server.ejbd.AuthRequestHandler.processRequest(AuthRequestHandler.java:56)
at
org.apache.openejb.server.ejbd.EjbDaemon.processAuthRequest(EjbDaemon.java:204)
at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:157)
at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)
at
org.apache.openejb.server.ejbd.KeepAliveServer$Session.service(KeepAliveServer.java:213)
at
org.apache.openejb.server.ejbd.KeepAliveServer.service(KeepAliveServer.java:233)
at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:66)
at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:91)
at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:120)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
--
Regards:
Sanjay Kumar
[email protected]
Java Developer