Web Programmierung – Projekttagebuch ASP.NET Teil 4 – Verknüpfung Anmeldedaten und Benutzerdaten

Von Kurt Ulrich Autor Feed 27. July 2010 22:29

Bevor ich weitere Seiten mit Vereinsverwaltungsinhalt bastle, wollte ich zuerst noch eine Userverwaltung mit Anmeldung integrieren.

Wenn man ein neues Projekt mit der Vorlage  “ASP.NET Webanwendung” beginnt, kommt ein Template mit einer integrierten Userverwaltung. Davon habe ich mir relevante Teile in mein Projekt rüberkopiert und – einen hartnäckigen Laufzeitfehler erhalten. ("Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.") Im Web habe ich die Fehlermeldung auch oft angetroffen, aber leider bezogen sich alle gefundenen Hilfestellungen auf alte Versionen und die angeführten Lösungen haben bei mir nichts gebracht.

Die Ursache des Problems habe ich dann doch noch selbst gefunden (War ja auch selber schuld): Ich habe meinen Computer gewechselt und alle Tabellen inklusive der Userverwaltungs-Tabellen mit meinem SQL-Skript, das ich auch letzte Woche gepostet habe, neu erzeugt. Offensichtlich macht aspnet_regsql aber noch anderes, als nur diese Tabellen erzeugen.
Die Lösung: Mit aspnet_regsql die Userverwaltung entfernt und dann wieder neu installiert. Und – welch ein Wunder – das Problem war gelöst. Vielleicht geht’s auch ohne Deinstallation; das habe ich aber nicht mehr probieren wollen.

Heute hatte ich die nächste Herausforderung mit der Userverwaltung. Ich wollte die beiden Seiten zur Gruppen- und Personenverwaltung, die bisher ja schon ganz gut funktionierten, so umgestalten, dass in der DropDownList nur mehr jene Vereine aufscheinen, für die der eingeloggte User verantwortlich ist. Die SQL-Abfrage dazu mit WHERE Klausel war schnell erstellt. Nur – woher nehme ich die Daten des angemeldeten User? Ich habe nach langem Suchen dann auf http://www.velocityreviews.com/forums/t237583-asp-net-2-0-membership-current-user.html den entscheidenden Hinweis gefunden, (MembershipUser u = Membership.GetUser(HttpContext.Current.User.Identity.Name)
u hat dann eine public property UserName, die sich dann mit der Tabelle aspnet_Users vergleichen lässt.

Als nächstes versuche ich, mir ein User Control zu bauen, mit dem neue Vereinsmitglieder erfasst werden können und die Zugangsdaten dann gleich per E-Mail zu versenden.

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

www.microsoft.com/austria | © 2009 Microsoft Corporation. Alle Rechte vorbehalten.
BlogEngine.NET 2.5.0.6 powered by atwork