Questions & Answers

SOLVED
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

Type a product name