ASP.NET Web Forms - Безопасность веб-форм - PullRequest
0 голосов
/ 19 декабря 2011

простой, но трудно решаемый вопрос на веб-формах.

Я принудительно установил доступ на основе ролей в своем приложении веб-формы, но я хотел бы настроить доступ на основе WebForm или URL-адреса, что-то вроде

/ Администрирование / * -> только админы / Users / * -> Администраторы и пользователи / * -> также анонимно

Любой совет, как это сделать на web.config?

Спасибо и всего наилучшего

Ответы [ 2 ]

2 голосов
/ 19 декабря 2011
<location path=”Admin”>
                <authorization>
                                <allow roles=”Admin” /> 
                                <deny users=”*” />
                <deny roles=”*” /> 
                </authorization>
</location>

или посмотрите здесь: http://support.microsoft.com/kb/316871 или http://weblogs.asp.net/gurusarkar/archive/2008/09/29/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config.aspx

1 голос
/ 19 декабря 2011

Самый простой способ - создать локальные web.config файлы в каждой из ваших подпапок.Такой локальный web.config будет содержать только информацию об авторизации, так что встроенный UriAuthorizationModule может сделать все остальное за вас.

Например, внутри папки / Admin создайте web.config с

<configuration>
 <system.web>
 <authorization>
   <allow roles="Admin" />
   <deny users="*" />
 </authorization>
 </system.web>
</configuration>

, предоставляя доступ только тем пользователям, которые являются администраторами.Примените то же самое к другим подпапкам, и все готово - при условии, что менеджер ролей существует и предоставляет информацию о ролях пользователей.

Создание локальных web.config, содержащих только данные авторизации в каждой подпапке, дает вамдетальный контроль над вашей авторизацией.Альтернативой может быть предоставление этой информации в основном web.config, но вскоре она будет перегружена многими узлами авторизации, ссылающимися на разные местоположения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...