Frage

Ich habe ein benutzerdefiniertes Login-Modul in einem Ohr auf Jboss bekommt. Das Ohr des META-INF hat eine Jboss-app.xml die Punkte bei einem Login-service.xml, die eine mbean enthält die auf einen Login-config.xml, die die benutzerdefinierte Login-Modul definiert.

Die jboss.xml in dem Ohr der META-INF verwendet die gleiche Sicherheitsdomäne wie die für das Login-Modul definiert in login-config.xml.

Auf einen Anruf zu einem EJB in diesem Ohr sehe ich nicht meine benutzerdefinierte Login-Modul das Login ausgeführt und Methoden begehen, wie ich gesehen habe, als ich diese an anderer Stelle in der Vergangenheit umgesetzt haben.

Ich habe Spur log4j Setup für org.jboss.security und ich sehe nichts auf den EJB-Anruf. Der EJB-Aufruf erfolgreich ist, obwohl ich nicht authentifiziert bin.

Ich kann nicht arbeiten, warum meine Login-Module nicht aufgerufen werden oder wie der JAAS Entscheidungsprozess zu debuggen. Irgendwelche Ideen? Danke.

War es hilfreich?

Lösung 2

fand ich das Problem, mit etwas Hilfe.

Meine jboss.xml im Ordner META-INF für das Ohr waren, soll es für den EJB-JAR im Ordner META-INF gewesen sein.

Anscheinend ist die Jboss-Datei im Ordner META-INF Ohrs gewesen wäre jboss-app.xml, was ich denke, wäre der Schlüssel für die nächste Zeit zu erinnern.

Andere Tipps

Was Sie bisher getan haben, um das Login-Modul zu schaffen, jetzt müssen Sie Ihre EJB sagen, es zu verwenden:

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 {
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top