Например, если у вас есть учетные записи пользователей 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

Hosted by uCoz