Per prima cosa stabilisci l'appartenenza e il fornitore del ruolo. C'è tutta la storia a riguardo. Darò un aiuto qui.
Ecco il collegamento a SqlMembershipProvider (una delle opzioni che puoi scegliere):http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx
Ecco il collegamento a SqlRoleProvider (di nuovo solo una delle opzioni che puoi scegliere)::http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx
Dopo averlo stabilito, puoi limitare l'accesso utente/ruolo a livello di cartella. Inserisci questo codice in web.config (all'interno del tag di configurazione):
<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>
Ecco una piccola spiegazione. La cartella principale "AdminPages" sarà consentita solo agli utenti con il ruolo "Administrators". Cartella principale "UserPages" per gli utenti nel ruolo "Amministratore" e "Utente". In entrambi i casi gli utenti sconosciuti non potranno accedere alle cartelle. Questo è tutto ciò di cui hai bisogno. Un'alternativa a questo è creare una classe che erediti da Page e poi gestisca l'accesso alla pagina... tuttavia non andrei in quel modo.