Windows Azure: Benutzerverwaltung in der Cloud
Das Problem Zugriffskontrolle und Benutzerverwaltung ist nahezu so alt wie die Informatik an sich. Die Lösungen dazu sind ebenfalls extrem vielseitig und manch ein Entwickler hat dieses oftmals zur Hauptaufgabe in Projekten erkoren und darüber beinahe die eigentliche Lösung vergessen.
ASP.NET Membership Provider
Seit ASP.NET die Benutzerverwaltung in Form von MemberShip-Providern eingeführt hat, gibt es für die Verwaltung von Benutzern, deren Profilinformationen und Rollenmitgliedschaften eine sehr gute Lösung. Leider benötigt diese eine lokale, respektive auf dem Webserver laufende Datenbank.
Die Lösung
Diese Lösung auf Windows Azure ohne SQL Azure, aber mit Azure Table Storage zu implementieren, hat sich das Codeplex-Projekt "Azureproviders" zum Ziele gemacht. Die darin enthaltene Lösung kann man sofort für Windows Azure und eigene Projekte verwenden. Man muss lediglich einige Einstellung für den Email-Verkehr einrichten.
Was enthält dieser Membership-Provider?
Login-Formular
Register-Formular
Profile-Formular
Password ändern Formular
Email-Kommunikation
Sobald sich ein Benutzer registriert, wird seine Email-Adresse erst einmal via Email und Aktivierungs-URL überprüft. Diesen Mechanismus manuell zu implementieren dauert auch schon etwas. Diese Art der Aktivierung ist inzwischen sehr gängig und relativ einfach für den Benutzer.
Administrationstools
Für den Administrator stehen einige Formulare zur Verfügung um die Übersicht der Benutzer und Rollen zu behalten.
Download
Die gesamte Lösung kann von https://azureproviders.codeplex.com/ heruntergeladen werden.
Vorbereitungen
Innerhalb der Web.config müssen einige Anpassungen für den eigenen Email-Dienst gemacht werden. Zu Testzwecken benutze ich immer meinen Web.de-Account. Für den professionellen Einsatz sollte man sich einen eigenen Email-Dienst besorgen, der die Emails versendet.
Das Projekt "AzureProviders" liegt als Sourcecode-Projekt vor und kann innerhalb weniger Minuten gestartet und in eigenen Anwendungen integriert werden.