J'ai placé dans mon EJB une déclaration @DeclareRoles puis des déclarations @RolesAllowed sur certaines méthodes que je voulais protéger.

Puis j'ai lancé mon site web où l'authentification n'a pas encore lieu et j'ai appelé une méthode de l'EJB dont l'accès est maintenant restreint... Ce que JBoss a accepté sans aucun problème!

Pourtant, il aurait du me refuser l'accès, l'appelant n'ayant aucun rôle.

Débutant tout juste dans le domaine de la sécurité, il est évident que j'ai du oublier de faire quelque-chose d'essentiel.

Quoi donc?
Merci !


Il me semble avoir progressé.
J'ai placé un @SecurityDomain("monDomaine") au haut de chacun de mes EJBs.
Curieusement, pour que cette annotation soit prise en compte, il a fallu qu'elle soit issue de org.jboss.ejb3.annotation.* et pas de org.jboss.security.annotation.* Sinon, elle était ignorée.

Il existe d'après la documentation la possibilité de définir ce security-domain dans le fichier jboss.xml, mais malheureusement seul le premier jar d'EJB est alors déployé correctement. Les autres provoquent un "SubDeployment already registered"

De fait, j'avance. Mais j'avoue ne pas tout comprendre sous JBoss 5.0.0.GA