it-swarm.com.de

GateIn + OpenAM 9.5.2

Eigentlich versuche ich GateIn für meine Firma und es gelingt mir nicht, OpenAM und GateIn zu integrieren.

Ich befolge alle Schritte im GateInReference-Handbuch, habe jedoch ein Problem.

Das Szenario des Problems ist:

  1. Gehe zu localhost:8080/portal

  2. Klicken Sie auf Administrator

  3. Ich werde weitergeleitet zu: openam.vauban.com:2080/openam_s952/UI/Login?realm=gatein&goto=http://localhost:8080/portal/private/classic

  4. Ich habe das Formular mit root/gtn ausgefüllt

  5. Ich werde zu localhost:8080/portal/private/classic weitergeleitet und die Seite ist leer. Die Haupttatsache ist: Das System scheint mich unendlich auf diese Seite weiterzuleiten.

Kennt jemand ein Problem für diese Endlosschleife?

Zur Information, ich habe mein OpenAM konfiguriert:

Wenn Sie die Cookies verschlüsseln möchten, verwenden Sie c66encode.

4
Maçois

Danke, dass du mir bei diesem Abenteuer geholfen hast.

Also habe ich ein paar Tests gemacht:

Auf Ubuntu (@Home || @Work auf einer VM):

OpenAM (default configuration) + GateIn Tomcat : OK
OpenAM (default configuration) + GateIn JBoss : OK
OpenAM (default configuration) + ExoPlatform : OK
OpenAM (manual configuration) + GateIn Tomcat : OK
OpenAM (manual configuration) + GateIn JBoss : OK
OpenAM (manual configuration) + ExoPlatform : OK

Unter Windows:

OpenAM (default configuration) : Impossible to install it, there is an existing GIRA for this point.
OpenAM (manual configuration) + GateIn Tomcat : KO, cf. point 4.
OpenAM (manual configuration) + GateIn JBoss : KO, cf. point 4.
OpenAM (manual configuration) + ExoPlatform : KO, cf. point 4.

Hinweis: 1) Der Unterschied zwischen der manuellen und der Standardkonfiguration ist der Domänenname. Alle meine Tests sind auf einem lokalen Computer. In der Standardkonfiguration verwendet OpenAM den Domainnamen "localhost" im Gegensatz zur manuellen Konfiguration, bei der Sie den Domainnamen nicht auswählen können. In diesem Fall habe ich einen Domainnamen gewählt, der auf den Localhost verweist (unter Windows habe ich beispielsweise die Hosts-Datei geändert und einen Domainnamen für 127.0.0.1 hinzugefügt).

2) Ich habe ExoPlatform getestet, da GateIn einige ähnliche Codes hat, da GateIn von ExoPlatform und JBoss Portal stammt.

3) In der Dokumentation ist die Syntax der Datei jaas.conf falsch. Die richtige Schreibweise lautet:

gatein-domain {

// org.exoplatform.web.security.PortalLoginModule erforderlich;

// org.exoplatform.services.security.jaas.SharedStateLoginModule erforderlich;

// org.exoplatform.services.security.j2ee.TomcatLoginModule erforderlich;

// Kommentieren Sie den folgenden Teil aus (und kommentieren Sie den anderen Teil für die CAS-Integration

org.gatein.sso.agent.login.SSOLoginModule erforderlich;

org.exoplatform.services.security.j2ee.TomcatLoginModule erforderlich

  portalContainerName="portal"

  realmName="gatein-domain";

};

4) Wenn das Ergebnis KO ist, scheint es, dass der Fehler das leere Plage oder die Schleife auf der leeren Seite ist, die ich zuvor beschrieben habe. OpenAM leitet Sie nach einer erfolgreichen Authentifizierung zum Portal weiter und im Portal schlägt etwas fehl ... Möglicherweise ist die Validierung des Cookies oder ähnliches. Wenn Sie eine Idee haben, teilen Sie diese bitte mit.

5) Für die manuelle Konfiguration ist die gewählte Domain: .vauban.com, aber in den Cookies ist die im Cookie geschriebene Domain localhost ... Nicht ungewöhnlich, weil in/etc/hosts oder/Windows/system32/drivers/etcs/hosts/127.0.0.1 bezieht sich auf localhost und/oder openam.vauban.com. Wenn es sich jedoch um KO handelt, hat das Cookie die Domain .vauban.com im Cookie.

Fazit ???? : Ich brauche ein paar Hilfen, um zu "verstehen", warum es in Windows so unmöglich ist ...

1
Maçois

Zur Information, der Fehler ist im Windows Dev-Modus wirklich knifflig.

Für Exo lautet die Lösung:

Please remove 127.0.0.1 address in your hosts file and try again.

The contents of your hosts file must be:

@IP(your IP address)  openam.vauban.com

+

This is the right scenario to use in order to check that openAM works fine with your eXoPlatform bundle:

    Go to /portal instead of /portal/sso in order to create cookies in the browser, because if we go directly to /portal/sso we get this exception and there is always an opened jboss portal issue for this problem https://issues.jboss.org/browse/GTNPORTAL-1908.
    Go to /portal/sso.
    You will be redirect to the openAM login screen.
    Connect as root/gtn.
    You will be redirect to /portal/private with a login page.

Außerdem möchte ich für OpenAM hinzufügen, achten Sie auf die Domain, die Sie verwenden. Wenn Sie zwei verschiedene Server in zwei verschiedenen Domänen verwenden, müssen Sie den Wert des Domänencookies in OpenAM ändern.

Dann müssen Sie das ErrorLoginServlet und das PortalLoginServlet (web.xml von portal) ändern, da sie das fehlerhafte Servlet verwenden, um den Anmeldeteil von exo zu verwalten.

Macois

1
Maçois

Der Leitfaden ist in einem Punkt falsch:

=> Die Änderung an der jaas.conf Datei:

Der Leitfaden sagt, dies zu kommentieren:

// Kommentieren Sie den folgenden Teil aus (und kommentieren Sie den anderen Teil für die CAS-Integration

org.gatein.sso.agent.login.SSOLoginModule erforderlich

org.exoplatform.services.security.j2ee.TomcatLoginModule erforderlich

portalContainerName = portal

realmName = gatein-domain

Aber die Syntax ist falsch, wir brauchen nur das (seien Sie vorsichtig mit dem ';':

// Kommentieren Sie den folgenden Teil aus (und kommentieren Sie den anderen Teil für die CAS-Integration

org.gatein.sso.agent.login.SSOLoginModule erforderlich;

org.exoplatform.services.security.j2ee.TomcatLoginModule erforderlich;

0
Maçois