IIOP-Clientauthentifizierung und ProgrammaticLogin in Glassfish v3

9

In Glassfish v2 sichere ich meine JNDI-Lookups, indem ich das Kontrollkästchen "IIOP Client Authentication" in der Admin-Konsole unter dem ORB-Knoten aktiviere.

In meinem Standalone-Client führe ich dann eine "ProgrammaticLogin" aus, die mir dann erlaubt, JNDI-Lookups durchzuführen.

In Glassfish v3 erhalte ich jedoch diesen Fehler, wenn ich JNDI-Lookups im selben Setup durchführen möchte:

%Vor%

Ich bin mir ziemlich sicher, dass das "ProgrammaticLogin" im Allgemeinen funktioniert, da ich remote Methodenaufrufe auf meinen gesicherten EJBs ausführen kann (mit @RolesAllowed , aber wenn die IIOP Client Auth ausgeschaltet ist).

Der Benutzer, mit dem ich mich anmelde, ist ein einfacher Benutzer, den ich für den Bereich "file" erstellt habe.

Irgendwelche Ideen, warum das ProgrammticLogin in Glassfish v3 nicht funktioniert, um JNDI-Lookups zu autorisieren?

Oder wie ist die korrekte Authentifizierung mit dem ORB von einem eigenständigen Client aus? für diesen Zweck?

    
rschamm 19.08.2010, 07:38
quelle

1 Antwort

1

Hast du sichergestellt, dass appserv-rt.jar auf deinem Klassenpfad ist? Es ist Teil jeder Glassfish3-Installation, z. Bei meiner Installation befindet es sich hier:

%Vor%

Das ist sehr wichtig. Es enthält einige Client-Java-Klassen, insbesondere: AppclientIIOPInterceptorFactory.

Diese fügen dem ORB einen SecClientRequestInterceptor hinzu, der darauf achtet, dass der Benutzername und das Passwort der GIOP-Anfrage hinzugefügt werden, die an den Server gesendet wird.

Ich brauchte ungefähr zwei Tage, um den Quellcode von Glassfish zu scannen und die Corba-Pakete auf dem Draht mit Wireshark zu schnüffeln, bis ich das gefunden hatte.

Ein Beispiel zum Sichern einer Bean und Schreiben eines echten Java EE Clients finden Sie hier: Ссылка

Hoffe, das hilft     Manuel

    
Manuel_B 22.11.2011 14:30
quelle

Tags und Links