Referenz

Integration des Alfresco eCMS in Liferay Portal

Inubit Alfresco/Liferay Integration

Realisiert wurde eine Single-Sign-On-Lösung für die Produkte Liferay-Portal-Server und Alfresco für einen großen Kunden der inubit AG.

Dabei kommt CAS (Central Authentication Service) zum Einsatz. CAS authentifiziert einen Benutzer über eine der verschiedenen konfigurierten Verfahren. Das kann ein Formular für die Eingabe von Benutzername und Passwort sein, ein Remember-me-Cookie oder eine IWA-Authentifizierung (Integrated Windows Authentication), bei der die Anmeldung an das Windows-Betriebssystem bereits ausreicht.

Der CAS-Server erzeugt sogenannte Tickets, mit denen eine Applikation die Identität des Benutzers beim CAS-Server nachfragen und eventuell Proxy-Tickets für andere Applikationen erzeugen lassen kann.

Der CAS-Server erzeugt sogenannte Tickets, mit denen eine Applikation die Identität des Benutzers beim CAS-Server nachfragen und eventuell Proxy-Tickets für andere Applikationen erzeugen lassen kann.

Besucht ein Benutzer entweder das Portal oder das Web-Frontend des Alfresco-DMS wird zunächst versucht, ein Single-Sign-On mittels IWA (Integrated Windows Authentication) durchzuführen. Dabei werden zwischen Windows Server, Browser und Domain-Controller Security-Tokens ausgetauscht, die die Identität des Benutzers sicherstellen, ohne dass sich dieser mittels Passwort authentifizieren muss. Das Verfahren funktioniert von Windows-Rechnern innerhalb der Domain mit Internet-Explorer, ohne dass auf den Client-Rechnern besondere Vorkehrungen zu treffen sind.

Schlägt die IWA-Authentifizierung fehl (beispielsweise, weil der Zugriff von ausserhalb der Domain erfolgt), erscheint ein Login-Formular mit Eingabefeldern für Benutzername und Passwort. Die Validierung dieser Informationen erfolgt durch Delegation an einen Active-Directory-Server.

Der zweite Aspekt des SSO betrifft die Kommunikation der Server-Anwendungen untereinander. Greift ein Benutzer auf bestimmte Seiten des Portals zu, so werden von dort aus Zugriffe auf das Alfresco-DMS veranlasst. Für diese Zugriffe verwendet der Portalserver die Identität des am Portal eingeloggten Benutzers. Die Authentifizierung erfolgt über Proxy-Tickets, die der Portalserver vom CAS erhält.

Damit wurden hohe Sicherheitsstandards erzielt. Zum einen werden Passwörter nie an andere Applikationen als an den CAS-Server übermittelt, der ausschließlich eine SSL-Verbindung bereitstellt. Zum anderen erhält keine Applikation jemals Passwörter im Klartext oder auch nur Hashes davon. Proxy-Zugriffe auf andere Applikationen sind explizit als erlaubt konfiguriert.

Eingesetzte Technologien

  • Alfresco
  • Liferay
  • Java / J2EE
  • CAS / SSO
  • Kerberos