Pregunta

Tengo un módulo de inicio de sesión personalizado en un oído en JBoss. del oído META-INF tiene un jboss-app.xml que apunta a un inicio de sesión-service.xml que contiene un mbean que apunta a un login-config.xml que define el módulo de inicio de sesión personalizado.

El jboss.xml en del oído META-INF utiliza la misma seguridad entre dominios que el definido para el módulo de inicio de sesión en login-config.xml.

Al hacer una llamada a un EJB dentro de esa oreja que no veo a mi módulo de inicio de sesión personalizado que ejecuta el login y comprometo métodos que he visto cuando he implementado en el pasado esto en otra parte.

He fijado log4j traza para org.jboss.security y veo no en hacer la llamada EJB. La llamada EJB es aún un éxito aunque no estoy autenticado.

No se puede entender por qué mi módulo de inicio de sesión no está siendo llamada o cómo depurar el proceso de toma de JAAS. ¿Algunas ideas? Gracias.

¿Fue útil?

Solución 2

He encontrado el problema, con un poco de ayuda.

Mi jboss.xml estaba en la carpeta META-INF para el oído, que debería haber estado en la carpeta META-INF para el tarro de EJB.

Al parecer el archivo jboss en la carpeta META-INF de la oreja habría sido jboss- app.xml, que supongo que sería la idea de recordar para la próxima vez.

Otros consejos

Lo que has hecho hasta ahora es crear el módulo de inicio de sesión, ahora es necesario que informe a su EJB utilizarlo:

import javax.annotation.security.RolesAllowed;
import javax.ejb.Stateless;

import org.jboss.ejb3.annotation.SecurityDomain;


@Stateless
@SecurityDomain("mySecurityDomain")
@RolesAllowed({"guestRole", "userRole", "adminRole"})
public class SecureBean implements Secure {
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top