Search the FirstSpirit Knowledge Base
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
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.
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
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;
};
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 eineAnmeldung 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 derKonfigurationsdatei fs-jaas.conf können über die FirstSpirit Server- undProjektkonfiguration vorgenommen werden (siehe Kapitel 7.3.13 Seite 220).Die folgenden Ergänzungen müssen für alle konfigurierten LoginModulevorgenommen werden, über die der SSO-Zugriff ermöglicht werden soll.Nachfolgend wird die Konfiguration am Beispiel der WEBanwendung WebEditerlä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 optionalclientModule="true"domains=":myDomain";Für den Parameter „domains“ kann entweder der NTLM-Host oder die Domäneangegeben werden.Wurde für „domains“ ein falscher NTLM-Host oder Domänenname eingetragen oderdieser nicht gefunden, so wird folgende Ausgabe in die Log-Datei des FirstSpirit-Servers geschrieben:ERROR 17.11.2006 12:37:39 (firstspirit.usermanagement.UserManagerImpl): Domaincontroller 'DOMAIN' not found!Die Ergänzungen müssen nun die gewünschehinzugefügt werden (siehe Kapitel 7.3.13 Seite 220):Login-Modul-KonfigurationZusätzlich müssen die NTLM-Benutzer über die Server- und Projektkonfiguration alsexterne Benutzer in den FirstSpirit-Server übernommen und dem gewünschtenProjekt 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
Hallo,
im Adminhand ist die Konfiguration des Anmeldevorgangs etwas genauer beschrieben siehe Kapitel 4.3.4 Konfiguration des Anmeldevorgangs (fs-jaas.conf).
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.
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.
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
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.
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