Martin-Luther-Universität Halle-Wittenberg

Logo des Lehrstuhls Software-Engineering und Progammiersprachen

Weiteres

Login für Redakteure

Single-Sign-On Web Service

Beschreibung

Ein SSO-Service stellt Funktionalität zur Verfügung um Nutzerkonten zur Verwalten. Der Webservice kümmert sich darum die Passworte zu verifizieren und stellt Schnittstellen zur Bearbeitung der Nutzerdaten zur Verfügung.

Schnittstelle

Die Operationen dieser Komponente sind:

  • a: Registrierung eines neuen Nutzers, nachfolgend ist dieser bereits eingeloggt,
  • b: Login mit Nutzername und Passwort eines bereits registrierten Nutzers,
  • c: Ändern des Passworts bzw. weiterer Nutzerdaten,
  • d: Ausloggen eines eingeloggten Nutzers.

Alle Methoden werden synchron aufgerufen, d.h. es wird gewartet bis die SSO-Komponente das Ergebnis liefert.

Vorgesehene Benutzung

Eine SSO-Service sollte immer so benutzt werden, dass zuerst a aufgerufen wird, um den Nutzer einzuloggen. Als Alternative kann der Nutzer auch neu registriert werden (b). Nachfolgend kann ein Nutzer seine Daten beliebig oft ändern, dazu wird Methode c verwendet. Die Benutzung der Komponente sollte damit enden, dass der Nutzer abgemeldet wird (d).

Absicherung der korrekten Benutzung

Der SSO-Service sollte in einer Service-orientierten Architektur (SOA) immer in der oben beschriebenen Weise verwendet werden. Die vorgesehene Verwendung beschreibt den Zweck der Komponente. Leider ist es einem Komponenten-Entwickler nicht möglich diese Benutzung in einer WSDL o.ä. zu beschreiben (nur funktionale Eigenschaften können beschrieben werden).

Aus diesem Grund wurde in der Dissertation von Dipl.-Inform. Andreas Both ein Verfahren entwickelt, welches die Formulierung dieser nicht-funktionalen Eigenschaften ermöglicht. Dazu wird ein Service Protokoll formuliert. Dieses beschreibt die erlaubte Benutzung der Komponenten. Ein Service Protokoll ist eine formalisierte Beschreibung der Benutzung. Es handelt sich dabei um einen sogenannten endlichen Automaten (Finite State Machine), vereinfacht betrachtbar ein Graph.

Protokoll einer SSO-Komponente

Protokoll einer SSO-Komponente

Protokoll einer SSO-Komponente

Dieses Protokoll beschreibt präzise den Zweck den der Entwickler vorgesehen hatte. Die Formalisierung des Protokolls kann genutzt werden um beweisbar zu überprüfen, ob alle Clienten (benutzende Komponenten) sich an das vorgesehene Protokoll halten.

Quellen

Zum Seitenanfang