Question

J'ai un module de connexion personnalisé dans une oreille sur jboss. META-INF de l'oreille a une jboss-app.xml qui pointe à une connexion-service.xml qui contient un mbean qui pointe vers un login-config.xml qui définit le module de connexion personnalisée.

Le jboss.xml dans META-INF de l'oreille utilise la même sécurité domaine que celui défini pour le module de connexion dans login-config.xml.

En faisant un appel à un EJB dans cette oreille, je ne vois pas mon module de connexion personnalisé exécutant le login et commets des méthodes comme je l'ai vu quand j'ai mis cela ailleurs dans le passé.

Je trace la configuration de log4j pour org.jboss.security et je vois rien à rendre l'appel EJB. L'appel EJB est un succès, même si je ne suis pas authentifié.

Je ne peux pas comprendre pourquoi mon module de connexion n'est pas appelé ou comment déboguer le processus de décision JAAS. Des idées? Merci.

Était-ce utile?

La solution 2

J'ai trouvé le problème, avec un peu d'aide.

Mon jboss.xml était dans le dossier META-INF pour l'oreille, il aurait dû être dans le dossier META-INF pour le pot EJB.

Apparemment, le fichier jboss dans le dossier META-INF de l'oreille aurait été jboss-app.xml, que je suppose que serait la moindre idée de se rappeler pour la prochaine fois.

Autres conseils

Qu'est-ce que vous avez fait jusqu'à présent est en train de créer le module de connexion, maintenant vous devez dire à votre EJB pour l'utiliser:

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 {
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top