Soy nuevo en el desarrollo de aplicaciones con JavaEE. Estoy empleando Glassfish para desarrollar una pequeña aplicación con esta plataforma, y me encuentro con un problema, que es que no tengo ni idea de cómo propagar en tiempo de ejecución las credenciales de un usuario al servidor. Para llamar a un Session EJB 3.0, he escrito algo como esto:
Código:
después, desde el EJB envío un String al cliente con el nombre del principal que le ha llamado:Properties prop=new Properties(); prop.setProperty("org.omg.CORBA.ORBInitialHost","localhost"); prop.setProperty("org.omg.CORBA.ORBInitialPort","3700"); prop.setProperty("java.naming.security.principal","alexweb"); prop.setProperty("java.naming.security.credentials","abcde"); InitialContext ctx=new InitialContext(prop); JndiEJBRemote bean=(JndiEJBRemote)ctx.lookup("java:global/JndiPrueba1JndiPrueba1-ejb/JndiEJB");
Código:
pero obtengo ANONYMOUS.....alguien me podría explicar por qué? ctx.getCallerPrincipal().getName();