Die verschiedenen Schritten laufen wie folgt ab:
1 - Der Benutzer authentifiziert sich (z. B. unter Windows mit einem Konto wie "john_doe"; im Webmodus, weil die NTLM-Schicht das Konto zurückgibt).
2 - Der Benutzer öffnet per Doppelklick auf das Startsymbol (oder über einen Web-Link) eine SAFE-X3-Sitzung. Im Client-Server-Modus öffnet sich das Verbindungsfenster (mindestens beim ersten Mal: Per Aktivierung des Kontrollkästchens "diese Parameter bei der nächsten Verbindung verwenden" lässt sich die Anzeige der Verbindungsbox in der Folge unterbinden. Diese wird dann nur noch angezeigt, wenn während des Startvorgangs die Umschalt-Taste gedrückt wird.
3 - Im Client-Server-Modus erfasst der Benutzer den Benutzercode, der im Softwarepaket bekannt ist. Dabei kann es sich beispielsweise um JOHN, DOE, ADMIN oder einen sonstigen Code handeln. Bei SSO muss der Code JOHN_DOE lauten.
4 - Vom Softwarepaket wird geprüft, ob JOHN_DOE in der Benutzertabelle vorhanden ist (ausgewertet wird dabei das in der Benutzertabelle definierte Feld Login). Dieser Code kann beispielsweise dem Benutzercode JOHND entsprechen. In denjenigen Tabellen, in denen der Datentyp AUS verwendet wird, wird der (maximal fünfstellige) Code JOHND gespeichert.
5 - Wenn SSO aktiviert ist und der (dem ursprünglichen Benutzername entsprechende) Code JOHN_DOE erfasst wurde, entfällt die Passwortprüfung (wenn der Benutzercode nicht dem System-Benutzernnamen entspricht, kann die Anmeldung nicht durchgeführt werden).
6) Das System greift dann auf das Feld Active-Directory-Referenz des Benutzers zurück, um das zentral gehaltene Verzeichnis abzufragen (LDAP, Active directory... gemäß den übergebenen allgemeinen Verbindungsparametern). Dort werden eine Reihe von Rückgabewerten ermittelt (Feldwerte der Benutzertabelle, Benutzerparameterwerte). Änderungen an diesen Werten im Verzeichnis (welches als Referenz dient) werden im Softwarepaket nachgezogen.
Um das Benutzerverzeichnis zu verwenden, müssen auf Ordnerebene folgende Parameterwerte gesetzt werden.
Mit dem Parameterwert SSOCONNECT wird die X3-Funktion SSO/LDAP aktiviert (d. h. die Verbindung zum zentral gehaltenen Verzeichnis).
Der Parameter kann folgende Werte annehmen:
Wenn der Parameter SSOCONNECT aktiv ist, enthält der Parameter SSODIRECT den Verzeichniscode. Er referenziert die Tabelle, in der die möglichen Verzeichnisse und Verbindungen definiert sind.
Mit dem Parameter SSOMAJ (Ja / Nein) wird festgelegt, ob bei jeder Verbindung des Benutzers mit X3 die Benutzerdaten und Benutzerparameterwerte aktualisiert werden sollen.
Wenn der Parameterwert Nein lautet und die anderen Parameter aktiv sind, prüft das System, ob der Benutzer im Verzeichnis vorhanden ist, ohne dass bei jeder Verbindung aufs Neue die Parameter und Benutzerwerte aktualisiert werden müssen. Die Aktualisierung kann mit der Aufgabe ASSOMAJ im Batch erfolgen. Diese Aufgabe muss abonniert werden.
Mit dem Parameterwert SSOPASSWD (Ja/Nein) kann die Prüfung (und damit die Erfassung) des Passworts im Client-Server-Modus erzwungen werden, auch wenn der in der Verbindungsbox erfasste Benutzercode dem Windows-Benutzernamen des Benutzers entspricht.
Im Webmodus wird die Prüfung systematisch durchgeführt.
Ein einziger Parameter kann auf Benutzerebene geändert werden.
Ist der Parameterwert SSODOMAIN nicht leer, kann so die Verbindungsmöglichkeit eines Benutzers ab der gegebenen Domäne eingeschränkt werden. Ist er leer, erfolgt nur die Prüfung des Benutzercodes und nicht die Prüfung der Domäne.
Die Daten aus einem LDAP-Verzeichnis werden grafisch in einer Baumstruktur dargestellt.
Jeder Knoten steht für ein abstraktes oder ein reales Objekt (Person, Personengruppe, Drucker, Parameter etc.).
Mit dem DN (Distinguished Name) können Objekte eindeutig in der Hierarchie identifiziert werden.
Diese erste Id wird in den Benutzerdaten im Feld AUTILIS.ADDNAM gespeichert.
Bei der zweiten im Verzeichnis parametrierten Id handelt es sich im Prinzip um das Login.
Im Folgenden wird ein Beispiel für eine LDAP-Baumstruktur gegeben. Hinweise: Die Hierarchien können frei definiert werden. Ein solches Verzeichnis kann Benutzer, Gruppen und Ressourcen (wie z. B. Drucker) enthalten. Zum Abfragen einer solchen Baumstruktur wird eine Suchwurzel angegeben. Danach werden der Knoten selbst sowie entweder die ihm direkt untergeordneten Knoten oder der gesamte Baum ab der angegebenen Wurzel durchsucht. Ausgangsknoten und Art der Datensuche werden in den Verzeichnisparametern vorgegeben.
Annahme: SSO ist aktiv, und ein X3-Benutzer verbindet sich zum ersten Mal mit SAFE X3.
Beim Verbindungsaufbau prüft die X3-Anwendung, ob der erfasste Benutzername im Verzeichnis referenziert wird. Ist dies der Fall, wird der im Feld ADDNAM der Benutzertabelle AUTILIS aktualisierte DN (Distinguished Name) übernommen.
Ist der Parameter SSOMAJ auf Ja gesetzt, werden alle gemappten Felder in den Benutzerdaten und den X3-Parameterwerten aktualisiert.
Mit der Funktion "Verzeichnis" kann die Konfiguration definiert werden, für die die X3-Anwendung die LDAP-Verzeichnisdaten lesen kann.
Es wird eine Entsprechung zwischen den Feldern der Benutzertabelle, der Tabelle der Benutzerparameterwerte und den LDAP-Verzeichnisfeldern hergestellt.
Mit der Aufgabe ASSOMAJ können die Benutzer gemäß LDAP-Verzeichnis aktualisiert werden.
Die Aktualisierung erstreckt sich dabei nur auf die diejenigen Benutzer, die bereits in der AUTILIS-Tabelle vorhanden sind; das Werkzeug legt beim Lesen der LDAP-Verzeichnisdaten in keinem Fall neue Benutzer an.
Die Verbindung wird über den DN (Distinguished Name) hergestellt, sofern dieser bereits in der Benutzertabelle erfasst wurde. Sonst wird der DN mit der zweiten parametrierten Id (in der Regel Benutzername) gesucht.
Im nachstehenden Schema werden die verschiedenen Verbindungsmöglichkeiten, Prozeduren und entsprechenden Prüfungen ausführlich beschrieben.