Сценарий такой:
Я работаю над ролевым проектом в vs2005 и sql server2005. Я определил роль в базе данных и добавил настраиваемого поставщика ролей. У меня две роли, такие как «администратор» и «пользователь». Я создал в проекте две папки и разместил в них страницы (администратор и пользователь) в соответствии с ролями. Теперь я хочу добавить код в web.config для доступа к страницам в соответствии с ролями, это означает, что администратор может видеть только страницы папок администратора, а пользователь может видеть только страницы папок пользователя.
Если я определю только одну страницу для администратора и одну страницу для пользователя в теге с авторизацией ролей, тогда они будут работать нормально. Но если я использовал более одной страницы в обеих папках, мне нужно определить все страницы в файле web.config для обоих.
Я использовал тег местоположения вот так
<location path="user/userpage1.aspx">
<system.web>
<authorization>
<allow roles="user"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Есть ли возможность назначить роль для папки вместо страницы в теге. Если да, пожалуйста, дайте несколько ценных идей для реализации этого.
Обновления Я добавил эти два тега местоположения в свою веб-конфигурацию.
<!--allow admin role members-->
<location path="admin/adminpage1.aspx">
<system.web>
<authorization>
<allow roles="admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<!--allow user role members-->
<location path="user/userpage1.aspx">
<system.web>
<authorization>
<allow roles="user"/>
<deny users="*"/>
</authorization>
</system.web>
</location>