Es gibt viele verschiedene Architekturen um SharePoint im Extranet zu verwenden. Bei der Wahl der Technologie muss man wissen was man für Anforderungen hat und was man für technische Rahmenbedingungen sind. Bei der Planung eines Extranets muss man zwei Bereiche beachten. Wie gelange ich auf den Server und wie authentifiziere ich mich.
In diesem Post möchte ich ein wenig auf die Authentifizierung zu sprechen kommen.
Für die Authentifizierung stehen Windows, ASP.NET forms und Web Single Sign-On (SSO) zur Auswahl. Bei jeder Authentifizierungsmethode gibt es verschiedene Technologien die zur Auswahl stehen. So kann man bei SSO eine externe Person über ADFS eingebunden werden, (*1) oder bei forms authentification ein MembershipProvider(*2) verwenden um die Benutzer an SharePoint authentifizieren.
Es ist möglich mehrere Authentifizierungsmechanismen auf einem Web zu verwenden, man kann aber nur maximal fünf verschiedene auf einer Applikation haben. Denn pro Webzone kann man nur eine Authentifizierung konfigurieren, und für eine WebApplication kann man maximal fünf Webzonen einrichten.
In einem Post hat Fabian die Probleme einer WebForm Authentifizierung sehr schön auf den Punkt gebracht. Dabei sieht es bei ADFS und SSO auch nicht viel besser aus. Die Clientintegration ist nur noch bedingt brauchbar. Dabei ist die Clientintegration ein wichtiger Bestandteil von SharePoint und sollte falls möglich auch bei einem externen Zugang ermöglicht werden.
Nichtsdestotrotz, hat sich also seit SharePoint 2003 einiges getan. SharePoint 2003 hatte nur eine marginale extranet Unterstützung. So nun bin ich etwas abgeschweift. ;-) Wollte eigentlich auf einen Vortrag von den Microsoft TechDays 07 eingehen. Und zwar von Domick Baier von Thinktecture. In seiner Präsentation über die neue Architektur von künftigen IIS 7 gesprochen.
IIS7 bietet eine sehr flexible Architektur. Im IIS7 kann man einzelne Bestandteile hinzufügen oder Entfernen. Man kann zum Beispiel eine Authentification entfernen und selbst implementieren. Somit könnte man zum Beispiel die Basic Authentication selbst implementieren und die Benutzer aus einem eigenen Benutzerstore an SharePoint authentifizieren. Ohne das es sich dabei wirklich um einen WindowsAccount handelt. Dies würde eine zusätzliche Möglichkeit schaffen um in einem Extranet Clientintegration zu ermöglichen. Dies würde aber nur funktionieren solange man den IIS im integrated Modus verwendet. Solange man eine Applikation im Classic Mode einsetzt kann man auch keine Module ersetzen.
Bis man sowas aber testen kann muss man noch eine Weile warten. Denn schliesslich kommt der IIS7 zusammen mit dem Longhorn Server. Und eine SharePoint Version die IIS7 im integrated Modus unterstützt gibt es auch nicht. Das kann auch noch eine Weile dauern.
----------------------------------------------------------------------------
*1
Diese Technologie ist interessant wenn man einer Firma Zugang auf einen SharePoint Rechner geben will und die Benutzer nicht in einem eigenen AD verwalten will. Dabei werden die Benutzerdaten aus dem AD der externen Firma per ADFS angezapft. Der Vorteil: sobald der Benutzer in der Externen Firma keinen gültigen Account mehr hat ist hat er auch auf dem SharePoint keinen Zugriff mehr.
*2
Diese Technologie ist interessant wenn man die externen Benutzer bereits in einem eigenen Benutzer Store verwaltet. Nun kann man einen MembershipProvider programmieren und die Benutzer somit am SharePoint authentifizieren. Oder man verwendet den SQLMembershipProvider welcher mit dem ASP.NET Framework ausgeliefert wird.

