Von
Kurt Ulrich
23. August 2010 15:26
Bevor ich weitere Seiten bastle, habe ich mich mit den Zugriffsrechten auseinandergesetzt und – aufbauend auf die Übersicht aus Teil 5 – ein Menü zusammengestellt. Dabei bin ich auf http://msdn.microsoft.com/de-de/library/ms178418%28VS.80%29.aspxaurauf die Datei web.sitemap gestoßen. Diese entsprechend meiner gewünschten Menüstruktur aufgebaut, kann ich diese ganz einfach über eine SitemMapDataSource an einen TreeView binden. Auf http://msdn.microsoft.com/de-de/library/ms178428%28VS.80%29.aspx fand ich die entscheidenden Hinweise, wie ich entsprechend der Rolle des eingeloggten Benutzer einzelne Menüpunkte ausblenden kann. Somit stehen nun jedem Benutzer genau jene Menüpunkte zur Verfügung, für die er auch eine Berechtigung hat.
Um den Zugriff auf die Seite durch Direkteingabe des Seitennamens zu unterbinden, musste ich noch eine web.config-Datei in jedem Verzeichnis erstellen, in dem die Zugriffsrechte beschränkt sind. Das sieht dann z. B. so aus:
?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Vereinsverantwortlicher"/>
<allow roles="Vereinsverwalter"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>
Da ich die Anwendung so konzipiert habe, dass jeder Benutzer nur bei einem Verein ist, habe ich eine Session-Variable für die VereinID eingeführt, die sich beim Aufruf einer Seite automatisch generiert und dann bis zur Abmeldung zur Verfügung steht. Damit können dann einfach bei jedem Datenbankzugriff genau jene Zeilen selektiert werden, die zum jeweiligen Verein gehören.
Nächster Schritt: Neue Personen anlegen. Der Benutzer legt ein neues Vereinsmitglied (in der Tabelle ‘Person’) an. Dabei soll automatisch ein neuer Benutzer angelegt werden, dessen Zugangskennung sich aus Vor- und Zunamen (eventuell mit Ziffernzusatz, wenn schon vorhanden) als Benutzernamen sowie einem automatisch generierten Passwort zusammensetzt. Die Zugangsdaten für das Vereinsmitglied werden diesem automatisch an die eingegebene E-Mail-Adresse übermittelt.