modulo di login personalizzato JAAS
Domanda
Ho un modulo di login personalizzato in un orecchio su JBoss. L'orecchio META-INF ha un jboss-app.xml, che punti ad un account di accesso-service.xml che contiene un MBean che punta a un login-config.xml che definisce il modulo di login personalizzato.
Il jboss.xml nel dell'orecchio META-INF utilizza la stessa sicurezza-dominio come quello definito per il modulo di login in login-config.xml.
Al momento di effettuare una chiamata a un EJB all'interno di quell'orecchio non vedo il mio modulo di login personalizzato che esegue il login e impegno metodi come ho visto quando ho implementato questo altrove in passato.
Ho installato log4j traccia per org.jboss.security e vedo non a fare la chiamata EJB. La chiamata EJB è ancora successo se non sto autenticato.
Non riesco a capire il motivo per cui il mio modulo di login non viene chiamato o come eseguire il debug il processo decisionale JAAS. Qualche idea? Grazie.
Soluzione 2
Ho trovato il problema, con qualche aiuto.
Il mio jboss.xml era nella cartella META-INF per l'orecchio, avrebbe dovuto essere nella cartella META-INF per il jar EJB.
A quanto pare il file jboss nella cartella META-INF del orecchio sarebbe stato jboss-app.xml, che immagino sarebbe l'indizio da ricordare per la prossima volta.
Altri suggerimenti
Quello che hai fatto fino ad ora è la creazione del modulo di login, ora è necessario informare il bean di usarlo:
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 {