Если у вас разные каталоги и вы используете аутентификацию asp.net, это очень просто.
Все, что вам нужно, это поместить файл web.config в каждый каталог и определить роли, которые могут обращаться к файлам в этом каталоге, например:
<authorization>
<allow roles="shoppers"/>
<deny users="?"/>
</authorization>
Более подробную информацию можно получить из этой статьи на MSDN
.
Вы можете установить все в основном файле web.config так:
<!-- Configuration for the "sub1" subdirectory. -->
<location path="sub1">
<system.web>
<httpHandlers>
<add verb="*" path="sub1" type="Type1"/>
<add verb="*" path="sub1" type="Type2"/>
</httpHandlers>
</system.web>
</location>
<!-- Configuration for the "sub1/sub2" subdirectory. -->
<location path="sub1/sub2">
<system.web>
<httpHandlers>
<add verb="*" path="sub1/sub2" type="Type3"/>
<add verb="*" path="sub1/sub2" type="Type4"/>
</httpHandlers>
</system.web>
</location>
</configuration>
Это из этой статьи на MSDN:)
EDIT:
В вашем методе загрузки страницы сделайте это:
if(!User.IsInRole("shopper"))
{
lblNoAccess.Visible=true;
lnkHome.Url="PATH_TO_HOME_PAGE_OF_THIS_ROLS";
}
Надеюсь, это поможет вам!