Поделиться через


Проверка подлинности форм между приложениями

Обновлен: Ноябрь 2007

ASP.NET поддерживает проверку подлинности с помощью форм в распределенной среде: либо между приложениями на одном сервере, либо на веб-ферме. Если проверка подлинности с помощью форм включена между несколькими приложениями ASP.NET, то пользователям не требуется заново проверять подлинность при переключении между приложениями.

Настройка проверки подлинности с помощью форм между приложениями

Для настройки проверки подлинности с помощью форм между приложениями необходимо присвоить атрибутам разделов forms и machineKey в файле Web.config одинаковые значения во всех приложениях, которые участвуют в общей проверке подлинности с помощью форм.

В следующем примере показан раздел Authentication файла Web.config. Если не указано другое, то атрибуты name, protection, path, validationKey, validation, decryptionKey и decryption должны иметь одинаковое значение во всех приложениях. Идентичными должны быть также значения ключей шифрования и проверки, а также схема шифрования и схема проверки, используемые для билетов проверки подлинности (данных в файлах Cookie). Если параметры не совпадают, то билеты проверки подлинности не могут быть общими.

eb0zx8fc.alert_note(ru-ru,VS.90).gifПримечание.

Приложения ASP.NET версии 2.0 и более поздних версий могут совместно использовать данные билета проверки подлинности с помощью форм с более ранними версиями ASP.NET, если включить запись decryption="3DES" в элемент machineKey для каждого приложения ASP.NET версии 2.0 и более поздних версий.

<configuration>
  <system.web>
    <authentication mode="Forms" >
      <!-- The name, protection, and path attributes must match 
           exactly in each Web.config file. -->
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" 
        protection="All"  
        path="/" 
        timeout="30" />
    </authentication>

    <!-- Validation and decryption keys must exactly match and cannot
         be set to "AutoGenerate". The validation and decryption
         algorithms must also be the same. -->
    <machineKey
      validationKey="[your key here]" 
      decryptionKey="[your key here]" 
      validation="SHA1" />
  </system.web>
</configuration>

После выпуска билета проверки подлинности (файла Cookie) время истечения срока действия файла Cookie контролируется на основе значения свойства Expires этого файла Cookie. Если два приложения имеют различные атрибуты Timeout, то дата истечения срока действия и исходное значение отметки времени сохраняются для каждого файла Cookie до конца его действия. Когда файл Сookie обновляется, исходный срок его действия используется для вычисления новой даты окончания срока действия. Значение конфигурации Timeout используется только один раз, при начальном создании файла Cookie.

Проверка подлинности с помощью форм и служба проверки подлинности

Для проверки подлинности пользователей между приложениями также можно использовать службу проверки подлинности. Служба проверки подлинности дает возможность использовать проверку подлинности с помощью форм из любого приложения, которое может отправлять и получать сообщения в формате SOAP. Дополнительные сведения см. в разделе Общие сведения о службе проверки подлинности Windows Communication Foundation.

См. также

Задачи

Практическое руководство. Реализация простой проверки подлинности с помощью форм

Другие ресурсы

Безопасность веб-приложений ASP.NET