Najpierw ustal członkostwo i dostawcę ról. Jest o tym cała historia. Tutaj udzielę pomocy.
Oto link do SqlMembershipProvider (jednej z dostępnych opcji):http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx
Oto link do SqlRoleProvider (znowu tylko jedna z dostępnych opcji)::http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx
Po ustaleniu tego możesz ograniczyć dostęp użytkownika/roli na poziomie folderu. Umieść ten kod w web.config (wewnątrz tagu konfiguracyjnego):
<location path="AdminPages">
<system.web>
<authorization>
<allow roles="Administrator"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="UserPages">
<system.web>
<authorization>
<allow roles="Administrator,User"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Oto małe wyjaśnienie. Folder główny „AdminPages” będzie dostępny tylko dla użytkowników w roli „Administratorzy”. Folder główny „UserPages” dla użytkowników w roli „Administrator” i „Użytkownik”. W obu przypadkach nieznani użytkownicy nie będą mieli dostępu do folderów. To wszystko, czego potrzebujesz. Alternatywą do tego jest utworzenie klasy, która dziedziczy po Page, a następnie obsługuje dostęp do strony... jednak nie poszedłbym w ten sposób.