Например, если у вас есть учетные записи пользователей dan и matthew на компьютере FARIAMAT, то вы можете использовать следующие правила авторизации:
<authorization>
<deny users="?" />
<allow users="FARIAMAT\dan,FARIAMAT\matthew" />
<deny users="*" />
</authorization>
На заметку! Убедитесь, что вы специфицировали имя компьютера или домена в атрибуте users, когда используете Windows-аутентификацию. Вы не можете указывать псевдоним, такой как localhost, потому что тогда невозможно будет найти соответствие.
Общепринятый дизайн приложений предусматривает размещение файлов, которые требуют аутентификации, в отдельном каталоге. Благодаря конфигурационным файлам ASP.NET сделать это достаточно легко. Просто оставьте элемент <authorization> в родительском каталоге пустым и добавьте в защищаемый каталог файл web.config, который специфицирует более строгие установки авторизации.
Помните, что когда вы добавляете файл web.config в подкаталог, он не должен содержать никаких других специфичных для приложения установок. Фактически он должен содержать только информацию авторизации, как показано ниже:
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization
</system.web>
</configuration>
На заметку! Вы не можете изменить установки дескриптора <authentication> в файле web.config подкаталога вашего приложения. Вместо этого все каталоги в приложении должны использовать одну и ту же систему аутентификации. Однако каждый каталог может иметь собственный набор правил авторизации.
При использовании правил авторизации в подкаталоге ASP.NET все равно читает правила авторизации из родительского каталога. Отличие в том, что правила из подкаталога применяются первыми. Это важно, потому что ASP.NET останавливает сканирование, как только находит соответствие правила авторизации. Например, рассмотрим пример, в котором корневой виртуальный каталог содержит одно правило:
<allow users="dan" />
а подкаталог — другое правило:
<deny users="dan" />
В этом случае пользователь dan сможет получить доступ к любому ресурсу корневого каталога, но не получит никакого доступа к ресурсам из подкаталога. Если же вы поменяете местами эти два правила, dan получит доступ только к ресурсам подкаталога, но не получит доступа к ресурсам корневого каталога.
предыдущая следующая страница вначало главы оглавление
929