Primeiro, estabeleça a associação e o provedor de função. Há toda a história sobre isso. vou dar uma ajuda aqui.
Aqui está o link para SqlMembershipProvider (uma das opções que você pode escolher):http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx
Aqui está o link para SqlRoleProvider (novamente, apenas uma das opções que você pode usar)::http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx
Depois de estabelecer isso, você pode limitar o acesso de usuário/função no nível da pasta. Coloque este código em web.config (dentro da tag de configuração):
<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>
Aqui está uma pequena explicação. A pasta raiz "AdminPages" será permitida apenas para usuários na função "Administradores". Pasta raiz "UserPages" para usuários na função "Administrador" e "Usuário". Em ambos os casos, usuários desconhecidos não terão permissão para acessar as pastas. Isso é tudo que você precisa. Alternativa para isso é criar uma classe que herda de Page e então manipular o acesso à página... porém eu não iria por esse caminho.