Montag, 17. Juni 2013

CAS Single SignOn SSO verstehen

SingleSignOn SSO ist überall zu hören und lesen.
Die Implementierung wird durch viele Klassen und Bibliotheken abgebildet. Doch manchmal möchte man einfacher und simpler an die Sache heran gehen. Dazu ist das grundlegende Verständnis wichtig. Wie funktioniert das mit SSO und CAS?

Grundsätzlich wozu braucht man SSO?

Will man in seiner (Web)Anwendung oder Webseite keine eigene Userverwaltung haben, kann man dies an einen entsprechenden Server weiterverlagern. Der User muss nur einmal eine Registrierung durchführen und kann sich dann an viele Dienste anmelden, ohne dass seine Logindaten weiter gegeben werden. Dazu braucht er sich auch nur noch einen Zugang zu merken.

Die Anwendung leitet den Benutzer an den Authentifizierungsserver. Dort meldet sich der User an. Danach wird der User zurück zur Anwendung gesendet. Der Anwendungsserver fragt nun den Authentifizierungsserver ob die Anmeldung erfolgreich war und wer der Benutzer ist. In der Regel bekommt der Anwendungsserver dann nur eine eindeutige Kennung, damit er den Benutzer verwalten kann. Aber keine Daten, damit er sich an den Userdaten zu schaffen machen kann.

CAS Server bietet den Zugang zum SingleSignOn (SSO)

Der CAS-Server bietet:
  • Loginverfahren
  • Daten über den User für die Anwendungen und Programme
Benutzer sind hier hinterlegt. Dieser Dienst ist in der Regel von einer vertrauenswürdigen Seite. Meist kann der Benutzer hier auch entscheiden, welche Daten an Dritte (Anwendungen) freigegeben werden sollen. Bspw: email, kennung, Name, etc.

Anwendung

Der Benutzer möchte sich hier anmelden. Dabei aber nicht seine Daten hinterlegen. Die Anwendung erhält eine freigegeben Kennung vom CAS Server, wenn der Benutzer angemeldet ist.

Ablauf technisch

Benutzer geht auf die Anwendungs-Webseite. Diese prüft ob der Benutzer schon angemeldet ist. Dabei kann die Anwendung nur prüfen, ob der Benutzer bei der Anwendung angemeldet ist. Wenn der User nicht angemeldet scheint, sendet die Anwendung einen Redirect an den Browser des Benutzers. Darin ist die URL des CAS-Servers und eine URL, die aufgerufen werden soll, wenn der Benutzer angemeldet ist.

Der Benutzer loggt sich am CAS Server ein. Wird dann an die Anwendung zurück gesendet. Diese bekommt zusätzlich noch einen Parameter mit, der eine Ticket-Nummer vom CAS-Server enthält. Die Anwendung ruft nun Ihrerseits den CAS-Server auf und übergibt die Ticket-Nummer und erhält dann die Kennung des Benutzers.

Mit dieser Anwendung meldet nun die Anwendung den Benutzer bei sich selbst an.

Das alles geht sehr schnell und der Benutzer merkt in der Regel kaum eine Verzögerung.

Keine Kommentare:

Kommentar veröffentlichen