Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Классы 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 на AuthenticationManager вместе с запросом учетных данных. Затем запрос проходит проверку подлинности в соответствии со следующим процессом:
AuthenticationManagerвызывает метод Authenticate для каждого зарегистрированного модуля проверки подлинности в том порядке, в котором они были зарегистрированы.AuthenticationManagerиспользует первый модуль, который не возвращаетnull, чтобы выполнить процесс аутентификации. Сведения о процессе зависят от типа используемого модуля проверки подлинности.По завершении процесса проверки подлинности модуль проверки подлинности возвращает Authorization в
WebRequest, содержащий сведения, необходимые для доступа к интернет-ресурсу.
Некоторые схемы аутентификации могут аутентифицировать пользователя без предварительного запроса на ресурс. Приложение может сэкономить время путем предварительной проверки подлинности пользователя с ресурсом, что позволяет устранить по крайней мере один обходной путь к серверу. Кроме того, он может выполнять проверку подлинности во время запуска программы, чтобы более быстро реагировать на пользователя позже. Схемы проверки подлинности, которые могут использовать предварительную проверку подлинности, задают PreAuthenticate для свойства значение true.