Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Классы System.Net поддерживают различные механизмы проверки подлинности клиента, включая стандартные методы проверки подлинности в Интернете: basic, digest, negotiate, NTLM и Kerberos, а также пользовательские методы, которые можно создать.
Учетные данные проверки подлинности хранятся в NetworkCredential и CredentialCache классах, реализующих ICredentials интерфейс. Если один из этих классов запрашивается для учетных данных, он возвращает экземпляр NetworkCredential класса. Процесс проверки подлинности управляется классом AuthenticationManager , и фактический процесс проверки подлинности выполняется классом модуля проверки подлинности, реализующим IAuthenticationModule интерфейс. Прежде чем использовать настраиваемый модуль проверки подлинности с AuthenticationManager, его необходимо зарегистрировать; модули для методов проверки подлинности basic, digest, negotiate, NTLM и Kerberos регистрируются по умолчанию.
NetworkCredential сохраняет набор учетных данных, связанных с одним ресурсом Интернета, определяемым URI, и возвращает их в ответ на любой вызов GetCredential метода. Класс NetworkCredential обычно используется приложениями, которые обращаются к ограниченному количеству интернет-ресурсов или приложениям, используюющим один набор учетных данных во всех случаях.
Класс CredentialCache хранит коллекцию учетных данных для различных веб-ресурсов.
GetCredential Когда вызывается метод, CredentialCache возвращает правильный набор учетных данных, который определяется URI веб-ресурса и запрошенной схемой проверки подлинности. Приложения, использующие различные интернет-ресурсы с различными схемами проверки подлинности, получают преимущества от использования CredentialCache класса, так как хранятся все учетные данные и предоставляют их по мере запроса.
При запросе аутентификации интернет-ресурса метод отправляет WebRequest.GetResponse на WebRequest вместе с запросом учетных данных. Затем запрос проходит проверку подлинности в соответствии со следующим процессом:
AuthenticationManagerвызывает метод Authenticate для каждого зарегистрированного модуля проверки подлинности в том порядке, в котором они были зарегистрированы.AuthenticationManagerиспользует первый модуль, который не возвращаетnull, чтобы выполнить процесс аутентификации. Сведения о процессе зависят от типа используемого модуля проверки подлинности.По завершении процесса проверки подлинности модуль проверки подлинности возвращает Authorization в
WebRequest, содержащий сведения, необходимые для доступа к интернет-ресурсу.
Некоторые схемы аутентификации могут аутентифицировать пользователя без предварительного запроса на ресурс. Приложение может сэкономить время путем предварительной проверки подлинности пользователя с ресурсом, что позволяет устранить по крайней мере один обходной путь к серверу. Кроме того, он может выполнять проверку подлинности во время запуска программы, чтобы более быстро реагировать на пользователя позже. Схемы аутентификации, которые могут использовать предварительную аутентификацию, задают свойству true значение CanPreAuthenticate.