NegotiateStream.AuthenticateAsServerAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
以异步操作方式处理某个客户端-服务器连接的身份验证的服务器端。
重载
AuthenticateAsServerAsync() |
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。 |
AuthenticateAsServerAsync(ExtendedProtectionPolicy) |
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。 身份验证过程使用指定的扩展保护策略。 |
AuthenticateAsServerAsync(NetworkCredential, ProtectionLevel, TokenImpersonationLevel) |
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。 身份验证过程使用指定的服务器凭据和身份验证选项。 |
AuthenticateAsServerAsync(NetworkCredential, ExtendedProtectionPolicy, ProtectionLevel, TokenImpersonationLevel) |
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。 身份验证过程使用指定的服务器凭据、身份验证选项和扩展保护策略。 |
AuthenticateAsServerAsync()
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。
public:
virtual System::Threading::Tasks::Task ^ AuthenticateAsServerAsync();
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync ();
abstract member AuthenticateAsServerAsync : unit -> System.Threading.Tasks.Task
override this.AuthenticateAsServerAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsServerAsync () As Task
返回
表示异步操作的任务对象。
例外
身份验证失败。 可以使用此对象尝试重新进行身份验证。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
此对象已关闭。
不支持 windows 95 和 Windows 98。
注解
身份验证使用服务器的 DefaultCredentials。 未为服务器指定服务主体名称 (SPN) 。 模拟级别为 Identification,安全级别为 EncryptAndSign。
身份验证成功后,必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsServer()异常。
适用于
AuthenticateAsServerAsync(ExtendedProtectionPolicy)
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。 身份验证过程使用指定的扩展保护策略。
public:
virtual System::Threading::Tasks::Task ^ AuthenticateAsServerAsync(System::Security::Authentication::ExtendedProtection::ExtendedProtectionPolicy ^ policy);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy? policy);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy);
abstract member AuthenticateAsServerAsync : System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy -> System.Threading.Tasks.Task
override this.AuthenticateAsServerAsync : System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsServerAsync (policy As ExtendedProtectionPolicy) As Task
参数
- policy
- ExtendedProtectionPolicy
用于扩展保护的 ExtendedProtectionPolicy。
返回
表示异步操作的任务对象。
例外
在 policy
参数中传递的扩展保护策略上,CustomChannelBinding 和 CustomServiceNames 都是 null
。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
此对象已关闭。
在不支持扩展保护的平台上,policy
参数设置为 Always。
不支持 windows 95 和 Windows 98。
注解
身份验证使用服务器的 DefaultCredentials。 未为服务器指定服务主体名称 (SPN) 。 模拟级别为 Identification,安全级别为 EncryptAndSign。
policy
如果 参数为 null
,则使用已设置为 Never的PolicyEnforcement扩展保护策略。
身份验证成功后,必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsServer(ExtendedProtectionPolicy)异常。
另请参阅
适用于
AuthenticateAsServerAsync(NetworkCredential, ProtectionLevel, TokenImpersonationLevel)
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。 身份验证过程使用指定的服务器凭据和身份验证选项。
public:
virtual System::Threading::Tasks::Task ^ AuthenticateAsServerAsync(System::Net::NetworkCredential ^ credential, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel requiredImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Net.NetworkCredential credential, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel);
abstract member AuthenticateAsServerAsync : System.Net.NetworkCredential * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsServerAsync : System.Net.NetworkCredential * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsServerAsync (credential As NetworkCredential, requiredProtectionLevel As ProtectionLevel, requiredImpersonationLevel As TokenImpersonationLevel) As Task
参数
- credential
- NetworkCredential
用于确立服务器身份的 NetworkCredential。
- requiredProtectionLevel
- ProtectionLevel
ProtectionLevel 值之一,指示流的安全服务。
- requiredImpersonationLevel
- TokenImpersonationLevel
TokenImpersonationLevel 值之一,指示服务器使用客户端凭据访问资源的方式。
返回
表示异步操作的任务对象。
例外
credential
为 null
。
requiredImpersonationLevel
必须为 Identification、Impersonation 或 Delegation,
身份验证失败。 可以使用此对象尝试重新进行身份验证。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
此对象已关闭。
不支持 windows 95 和 Windows 98。
注解
身份验证成功后,必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsServer(NetworkCredential, ProtectionLevel, TokenImpersonationLevel)异常。
适用于
AuthenticateAsServerAsync(NetworkCredential, ExtendedProtectionPolicy, ProtectionLevel, TokenImpersonationLevel)
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
- Source:
- NegotiateStream.cs
服务器调用此方法,对客户端-服务器连接中的客户端及服务器(可选)进行身份验证以作为异步操作。 身份验证过程使用指定的服务器凭据、身份验证选项和扩展保护策略。
public:
virtual System::Threading::Tasks::Task ^ AuthenticateAsServerAsync(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ExtendedProtectionPolicy ^ policy, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel requiredImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy? policy, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel);
public virtual System.Threading.Tasks.Task AuthenticateAsServerAsync (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel);
abstract member AuthenticateAsServerAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
override this.AuthenticateAsServerAsync : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel -> System.Threading.Tasks.Task
Public Overridable Function AuthenticateAsServerAsync (credential As NetworkCredential, policy As ExtendedProtectionPolicy, requiredProtectionLevel As ProtectionLevel, requiredImpersonationLevel As TokenImpersonationLevel) As Task
参数
- credential
- NetworkCredential
用于确立客户端身份的 NetworkCredential。
- policy
- ExtendedProtectionPolicy
用于扩展保护的 ExtendedProtectionPolicy。
- requiredProtectionLevel
- ProtectionLevel
ProtectionLevel 值之一,指示流的安全服务。
- requiredImpersonationLevel
- TokenImpersonationLevel
TokenImpersonationLevel 值之一,指示服务器使用客户端凭据访问资源的方式。
返回
表示异步操作的任务对象。
例外
在 policy
参数中传递的扩展保护策略上,CustomChannelBinding 和 CustomServiceNames 都是 null
。
credential
为 null
。
requiredImpersonationLevel
必须为 Identification、Impersonation 或 Delegation,
身份验证失败。 可以使用此对象尝试重新进行身份验证。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
此对象已关闭。
在不支持扩展保护的平台上,policy
参数设置为 Always。
不支持 windows 95 和 Windows 98。
注解
policy
如果 参数为 null
,则使用已设置为 Never的PolicyEnforcement扩展保护策略。
身份验证成功后,必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 AuthenticateAsServer(NetworkCredential, ExtendedProtectionPolicy, ProtectionLevel, TokenImpersonationLevel)异常。