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


NegotiateStream.AuthenticateAsClientAsync Метод

Определение

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция.

Перегрузки

AuthenticateAsClientAsync()

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция.

AuthenticateAsClientAsync(NetworkCredential, String)

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные клиента.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные клиента и привязку канала.

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные сервера и параметры проверки подлинности.

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel)

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные, параметры проверки подлинности и привязку канала.

AuthenticateAsClientAsync()

Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync();
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync ();
abstract member AuthenticateAsClientAsync : unit -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync () As Task

Возвращаемое значение

Объект задачи, представляющий асинхронную операцию.

Исключения

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Объект закрыт.

Проверка подлинности уже выполнена.

-или-

Этот поток уже использовался ранее при попытке проверки подлинности со стороны сервера. Этот поток нельзя использовать для повторной проверки подлинности со стороны клиента.

Комментарии

При проверке подлинности используется клиент .DefaultCredentials Имя субъекта-службы (SPN) для сервера не указано. Уровень олицетворения — Identification, уровень безопасности — EncryptAndSign, и запрашивается взаимная проверка подлинности. Класс NegotiateStream создаст имя субъекта-службы, используемое для взаимной проверки подлинности.

После успешной проверки подлинности необходимо проверка IsEncrypted свойства и IsSigned , чтобы определить, какие службы безопасности используются NegotiateStream. Проверьте свойство , IsMutuallyAuthenticated чтобы определить, произошла ли взаимная проверка подлинности.

Если проверка подлинности завершается сбоем AuthenticationException , вы получите или InvalidCredentialException. В этом случае можно повторить проверку подлинности с другими учетными данными.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые AuthenticateAsClient().

Применяется к

AuthenticateAsClientAsync(NetworkCredential, String)

Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные клиента.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::String ^ targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, string targetName);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * string -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * string -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, targetName As String) As Task

Параметры

credential
NetworkCredential

Учетные данные NetworkCredential, используемые для установления идентификации клиента.

targetName
String

Имя участника-службы (SPN), уникально определяющее сервер, подлинность которого проверяется.

Возвращаемое значение

Объект задачи, представляющий асинхронную операцию.

Исключения

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Объект закрыт.

Проверка подлинности уже выполнена.

-или-

Этот поток уже использовался ранее при попытке проверки подлинности со стороны сервера. Этот поток нельзя использовать для повторной проверки подлинности со стороны клиента.

targetName имеет значение null.

Комментарии

Уровень олицетворения — Identification, уровень безопасности — EncryptAndSign, и запрашивается взаимная проверка подлинности. Класс NegotiateStream создаст имя субъекта-службы, используемое для взаимной проверки подлинности.

После успешной проверки подлинности необходимо проверка IsEncrypted свойства и IsSigned , чтобы определить, какие службы безопасности используются NegotiateStream. Проверьте свойство , IsMutuallyAuthenticated чтобы определить, произошла ли взаимная проверка подлинности.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые AuthenticateAsClient(NetworkCredential, String).

Применяется к

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String)

Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные клиента и привязку канала.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, binding As ChannelBinding, targetName As String) As Task

Параметры

credential
NetworkCredential

Учетные данные NetworkCredential, используемые для установления идентификации клиента.

binding
ChannelBinding

Объект ChannelBinding, который используется для расширенной защиты.

targetName
String

Имя участника-службы (SPN), уникально определяющее сервер, подлинность которого проверяется.

Возвращаемое значение

Объект задачи, представляющий асинхронную операцию.

Исключения

targetName имеет значение null.

-или-

credential имеет значение null.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Проверка подлинности уже выполнена.

-или-

Этот поток уже использовался ранее при попытке проверки подлинности со стороны сервера. Этот поток нельзя использовать для повторной проверки подлинности со стороны клиента.

Объект закрыт.

Комментарии

Уровень олицетворения — Identification, уровень безопасности — EncryptAndSign, и запрашивается взаимная проверка подлинности. Класс NegotiateStream создаст имя субъекта-службы, используемое для взаимной проверки подлинности.

Объект , используемый ChannelBinding для расширенной защиты, который передается этому методу в параметре binding , будет получен приложением из TransportContext свойства в связанном SslStreamобъекте .

После успешной проверки подлинности необходимо проверка IsEncrypted свойства и IsSigned , чтобы определить, какие службы безопасности используются NegotiateStream. Проверьте свойство , IsMutuallyAuthenticated чтобы определить, произошла ли взаимная проверка подлинности.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые AuthenticateAsClient(NetworkCredential, ChannelBinding, String).

См. также раздел

Применяется к

AuthenticateAsClientAsync(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel)

Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные сервера и параметры проверки подлинности.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel) As Task

Параметры

credential
NetworkCredential

Учетные данные NetworkCredential, используемые для установления идентификации клиента.

targetName
String

Имя участника-службы (SPN), уникально определяющее сервер, подлинность которого проверяется.

requiredProtectionLevel
ProtectionLevel

Одно из значений перечисления ProtectionLevel, указывающее службы безопасности для потока.

allowedImpersonationLevel
TokenImpersonationLevel

Одно из значений перечисления TokenImpersonationLevel, указывающее, как сервер может использовать учетные записи клиента для доступа к ресурсам.

Возвращаемое значение

Объект задачи, представляющий асинхронную операцию.

Исключения

allowedImpersonationLevel не является допустимым значением.

Параметр targetName имеет значение null.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Объект закрыт.

Проверка подлинности уже выполнена.

-или-

Этот поток уже использовался ранее при попытке проверки подлинности со стороны сервера. Этот поток нельзя использовать для повторной проверки подлинности со стороны клиента.

Комментарии

Используйте параметр для requiredProtectionLevel запроса служб безопасности данных, передаваемых с помощью потока, прошедшего проверку подлинности. Например, чтобы данные были зашифрованы и подписаны, укажите EncryptAndSign значение . Успешная проверка подлинности не гарантирует предоставление запрошенного ProtectionLevel . Необходимо проверка IsEncrypted свойства и IsSigned , чтобы определить, какие службы безопасности используются NegotiateStream.

Если проверка подлинности завершается сбоем, вы получите или AuthenticationExceptionInvalidCredentialException. В этом случае можно повторить проверку подлинности с другими учетными данными.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые AuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel).

Применяется к

AuthenticateAsClientAsync(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel)

Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs
Исходный код:
NegotiateStream.cs

Вызывается клиентами аутентификации клиента, и, при необходимости, сервера в соединении клиент-сервер как асинхронная операция. Процесс проверки подлинности использует заданные учетные данные, параметры проверки подлинности и привязку канала.

public:
 virtual System::Threading::Tasks::Task ^ AuthenticateAsClientAsync(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsClientAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel);
abstract member AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsClientAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsClientAsync (credential As NetworkCredential, binding As ChannelBinding, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel) As Task

Параметры

credential
NetworkCredential

Учетные данные NetworkCredential, используемые для установления идентификации клиента.

binding
ChannelBinding

Объект ChannelBinding, который используется для расширенной защиты.

targetName
String

Имя участника-службы (SPN), уникально определяющее сервер, подлинность которого проверяется.

requiredProtectionLevel
ProtectionLevel

Одно из значений перечисления ProtectionLevel, указывающее службы безопасности для потока.

allowedImpersonationLevel
TokenImpersonationLevel

Одно из значений перечисления TokenImpersonationLevel, указывающее, как сервер может использовать учетные записи клиента для доступа к ресурсам.

Возвращаемое значение

Объект задачи, представляющий асинхронную операцию.

Исключения

targetName имеет значение null.

-или-

credential имеет значение null.

allowedImpersonationLevel не является допустимым значением.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Сбой проверки подлинности. Этот объект можно использовать для повторной проверки подлинности.

Проверка подлинности уже выполнена.

-или-

Этот поток уже использовался ранее при попытке проверки подлинности со стороны сервера. Этот поток нельзя использовать для повторной проверки подлинности со стороны клиента.

Объект закрыт.

Комментарии

Используйте параметр для requiredProtectionLevel запроса служб безопасности данных, передаваемых с помощью потока, прошедшего проверку подлинности. Например, чтобы данные были зашифрованы и подписаны, укажите EncryptAndSign значение . Успешная проверка подлинности не гарантирует предоставление запрошенного ProtectionLevel . Необходимо проверка IsEncrypted свойства и IsSigned , чтобы определить, какие службы безопасности используются NegotiateStream.

Объект , используемый ChannelBinding для расширенной защиты, передаваемый этому методу в параметре binding , будет извлекаться приложением из TransportContext свойства в связанном SslStreamобъекте .

Если проверка подлинности завершается сбоем, вы получите или AuthenticationExceptionInvalidCredentialException. В этом случае можно повторить проверку подлинности с другими учетными данными.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые AuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel).

См. также раздел

Применяется к