Alexander_Haufl
I'm new here

Single Sign On

Jump to solution

Hallo zusammen,

ich habe eine Frage zum SSO.

ich habe folgende Konfiguration in der fs-server.jar

##########
# JAAS
##########
JAAS=${cmsroot}/conf/fs-jaas.conf
JAAS.default=sso
JAAS.system=system
JAAS.client=sso
JAAS.webnonsso=webplain
JAAS.admin=sso
JAAS.websso=websso

Und folgende Konfiguration bei der Anmeldekonfiguration:

/*
* JAAS Login Configurations.
*   (for app-to-config mappings see fs-server.conf, JAAS.*)
*/

/* access api authentication (e.g., for remote projects) */
system {
    de.espirit.firstspirit.server.authentication.FSUserLoginModule sufficient hash="true";
    de.espirit.firstspirit.server.authentication.FSTicketLoginModule sufficient;
};

/* java-/admin-client authentication without sso */
plain {
    de.espirit.firstspirit.server.authentication.LdapLoginModule optional section="LDAP";
    de.espirit.firstspirit.server.authentication.FSUserLoginModule optional;
};

/* java-/admin-client authentication sso */
sso {
    de.espirit.firstspirit.server.authentication.FSTicketLoginModule sufficient;
    de.espirit.firstspirit.server.authentication.LdapLoginModule optional section="LDAP";
    de.espirit.firstspirit.server.authentication.FSUserLoginModule optional;
};

/* web authentication (for preview, webedit, webmonitor) without sso */
webplain {
    de.espirit.firstspirit.server.authentication.LdapLoginModule optional section="LDAP";
    de.espirit.firstspirit.server.authentication.FSUserLoginModule optional;
};

/* web authentication (for preview, webedit, webmonitor) with sso */
websso {
    de.espirit.firstspirit.server.authentication.LdapLoginModule optional section="LDAP";
    de.espirit.firstspirit.server.authentication.FSUserLoginModule optional;
};

Allerdings funktioniert das Single-Sign-On nicht. Wenn ich mich mit meinem Windows-Login am System anmelde dann funktioniert es, also kann es nicht an der LDAP anbindung liegen.

Kann es sein das es was damit zu tun hat, dass FSP auf einem Linux läuft?

Oder stimmt etwas an der Konfiguration nicht?

Gruß Alex

0 Kudos
1 Solution

Accepted Solutions

Ursache des Problems war es, dass das LdapLoginModule vor dem NTLMLoginModule aufgerufen wurde.

Nach dem Tausch der beiden Module [das erst der Benutzernamen mittels  NTLM ermittelt wird und dann die LDAP Anfrage mit diesem Benutzer  durchgeführt wird] klappt es nun einwandfrei.

View solution in original post

0 Kudos
10 Replies
boesebeck
Crownpeak employee

Hallo,

Alexander Haufler schrieb:

Allerdings funktioniert das Single-Sign-On nicht. Wenn ich mich mit meinem Windows-Login am System anmelde dann funktioniert es, also kann es nicht an der LDAP anbindung liegen.

Kann es sein das es was damit zu tun hat, dass FSP auf einem Linux läuft?

Oder stimmt etwas an der Konfiguration nicht?

für das SSO zu einer Windows Domaine benötigst du das NTLM bzw Kerberos (FS 4.2) Login Modul. Siehe dazu das Kapitel "5.3.2 SSO in Verbindung mit NTLM" im Adminhandbuch bzw. wenn du Kerberos nutzen willst, findest du es innerhalb der Release Notes zu 4.2  im Kapitel "6.2 Kommunikation von FirstSpirit-Servern in einem Netzwerk"

Gruß

Gerrit

0 Kudos

Mit dem NTLM -Modul  habe ich es auch schon versucht. allerdings bekamm ich dann immer die Fehlermeldung: java.net.UnknownHostException: tssstrcms001:8000

tssstrcms001:8000 ist die Domain unter der das FSP erreichbar ist. Ich habe es auch schon mit der IP-Adresse versucht.

ich habe die Konfiguration dann wie folgt gehabt:

/* java-/admin-client authentication sso */
sso {
    de.espirit.firstspirit.server.authentication.FSTicketLoginModule sufficient;
    // de.espirit.firstspirit.server.authentication.WindowsLoginModule optional;
    de.espirit.firstspirit.server.authentication.LdapLoginModule optional section="LDAP";
        de.espirit.firstspirit.server.authentication.NTLMLoginModule optional clientModule="true" domains=":10.58.17.81:8000";
    de.espirit.firstspirit.server.authentication.FSUserLoginModule optional;
};

/* web authentication (for preview, webedit, webmonitor) with sso */
websso {
    // de.espirit.firstspirit.server.authentication.FSTicketLoginModule sufficient;
    de.espirit.firstspirit.server.authentication.NTLMLoginModule optional clientModule="true" domains=":10.58.17.81:8000";
    // de.espirit.firstspirit.server.authentication.WindowsLoginModule optional;
    de.espirit.firstspirit.server.authentication.LdapLoginModule optional section="LDAP";
    de.espirit.firstspirit.server.authentication.FSUserLoginModule optional;
};

0 Kudos

Hallo,

der Parameter domains in der NTLM Konfiguration ist die Liste der Domain Controller in dem jeweiligen Netz, ich denke das 8000 kein gültiger Rechner ist.

Hier der Teil aus dem Adminhandbuch

In WebEdit ist es möglich, die Anmeldung mithilfe von NTLM 17 vorzunehmen. Durch

dieses Verfahren wird versucht, mit dem in Windows angemeldeten Benutzer eine
Anmeldung am FirstSpirit-Server vorzunehmen.
Damit eine Anmeldung von NTLM möglich ist, sind Anpassungen an der Datei „fs-
jaas.conf“ notwendig (Konfiguration siehe Kapitel 4.3.4 Seite 69). Änderungen an der
Konfigurationsdatei fs-jaas.conf können über die FirstSpirit Server- und
Projektkonfiguration vorgenommen werden (siehe Kapitel 7.3.13 Seite 220).
Die folgenden Ergänzungen müssen für alle konfigurierten LoginModule
vorgenommen werden, über die der SSO-Zugriff ermöglicht werden soll.
Nachfolgend wird die Konfiguration am Beispiel der WEBanwendung WebEdit
erläutert:
1. Das NTLM-Login-Modul muss aktiviert werden
(clientModule="true")
2. Der Domänen-Kontroller muss bekannt gegeben werden (domains=).
de.espirit.firstspirit.server.authentication.NTLMLoginModule optional
clientModule="true"
domains=":myDomain";
Für den Parameter „domains“ kann entweder der NTLM-Host oder die Domäne
angegeben werden.

Wurde für „domains“ ein falscher NTLM-Host oder Domänenname eingetragen oder
dieser nicht gefunden, so wird folgende Ausgabe in die Log-Datei des FirstSpirit-
Servers geschrieben:
ERROR 17.11.2006 12:37:39 (firstspirit.usermanagement.UserManagerImpl): Domain
controller 'DOMAIN' not found!
Die Ergänzungen müssen nun die gewünsche
hinzugefügt werden (siehe Kapitel 7.3.13 Seite 220):

Login-Modul-Konfiguration
Zusätzlich müssen die NTLM-Benutzer über die Server- und Projektkonfiguration als
externe Benutzer in den FirstSpirit-Server übernommen und dem gewünschten
Projekt zugeordnet werden (siehe Kapitel 7.2.4 Seite 193).
Anschließend können die Benutzer sich mit NTLM in WebEdit anmelden:

Nachricht geändert durch Gerrit Bösebeck

0 Kudos

Hallo,

im Adminhand ist die Konfiguration des Anmeldevorgangs etwas genauer beschrieben siehe Kapitel 4.3.4   Konfiguration des Anmeldevorgangs (fs-jaas.conf).

0 Kudos

Hallo,

ich habe das Handbuch gelesen, allerdings ist mir nicht ganz klar in welcher Reihenfolge die einzelnen Module aufgerufen werden sollen. Wir haben einen LDAP angebunden, brauch ich dann überhaupt noch das NTLM-Modul? Relevan für SSO sind ja die bereiche sso und websso?! ich habe bei beiden die folgenden Module eingebunden:

FSTicketLoginModule

LdapLoginModule

FSUserLoginModule

und optional (d.h. ich habe es sowohl mit als auch ohne versucht) NTLMLoginModule (hier habe ich jetzt die Domaincontroller übergeben ohne die Browser-Domain)

Ich bekomme auf der Anmeldeseite die Möglichkeit angeboten mich automatisch anzumelden, allerdings wird dabei an die Url lediglich ?login=websso angehängt und es passiert nichts.

Ist hier die reihenfolge der Module entscheidend oder muss ich eines der Module rausnehmen? Ich habe schon alle Möglichen varianten ausprobiert, so wie es im Handbuch auch beschrieben ist.

0 Kudos

Ursache des Problems war es, dass das LdapLoginModule vor dem NTLMLoginModule aufgerufen wurde.

Nach dem Tausch der beiden Module [das erst der Benutzernamen mittels  NTLM ermittelt wird und dann die LDAP Anfrage mit diesem Benutzer  durchgeführt wird] klappt es nun einwandfrei.

0 Kudos

Hallo,

ich habe versucht, nach der Beschreibung SSO über Kerberos einzurichten. Das hat leider nicht funktioniert. Ich habe keine Logausgaben finden können, die darauf hinweisen, dass das Kerberos-Modul überhaupt benutzt wird.

Kann mir jemand dazu helfen?

Vielen Dank!

    ciao Thomas

0 Kudos

Hallo Thomas,

bitte stell das Logging desTomcat bzw FS Server mal auf Debug und poste bitte die jeweligen Log-Ausgaben beim Start des Tomcat und beim Login Versuch.

0 Kudos

Hallo Gerrit,

nachdem Du nach den Logs gefragt hattest, habe ich zunächst verzweifelt nach Ausgaben zu Kerberos gesucht, aber keine gefunden. Erst, als ich noch an ein paar Konfigurationsoptionen des Tomcat umgebaut hatte, konnte ich endlich das Problem sehen und es war wie so oft menschliches Versagen: ich hatte die Konfigurationsdatei für das JAAS falsch angegeben,

Nachdem ich das angepasst hatte, kann man nun SSO nutzen.

Danke für den Denkanstoß!

    ciao Thomas

0 Kudos