NegotiateStream.BeginAuthenticateAsServer 方法

定义

开始一个异步操作,以处理进行身份验证的客户端-服务器连接中的服务器端。

重载

BeginAuthenticateAsServer(NetworkCredential, ExtendedProtectionPolicy, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 身份验证过程使用指定的服务器凭据、身份验证选项和扩展保护策略。 此方法不会进入阻止状态。

BeginAuthenticateAsServer(AsyncCallback, Object)

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 此方法不会进入阻止状态。

BeginAuthenticateAsServer(ExtendedProtectionPolicy, AsyncCallback, Object)

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 身份验证过程使用指定的扩展保护策略。 此方法不会进入阻止状态。

BeginAuthenticateAsServer(NetworkCredential, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 身份验证过程使用指定的服务器凭据和身份验证选项。 此方法不会进入阻止状态。

注解

身份验证正在进行时,此方法的重载不会阻止。 若要在等待身份验证完成时阻止,请使用 AuthenticateAsServer 方法。

BeginAuthenticateAsServer(NetworkCredential, ExtendedProtectionPolicy, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 身份验证过程使用指定的服务器凭据、身份验证选项和扩展保护策略。 此方法不会进入阻止状态。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ExtendedProtectionPolicy ^ policy, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy? policy, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsServer (credential As NetworkCredential, policy As ExtendedProtectionPolicy, requiredProtectionLevel As ProtectionLevel, requiredImpersonationLevel As TokenImpersonationLevel, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

参数

credential
NetworkCredential

用于确立客户端身份的 NetworkCredential

policy
ExtendedProtectionPolicy

用于扩展保护的 ExtendedProtectionPolicy

requiredProtectionLevel
ProtectionLevel

ProtectionLevel 值之一,指示流的安全服务。

requiredImpersonationLevel
TokenImpersonationLevel

TokenImpersonationLevel 值之一,指示服务器使用客户端凭据访问资源的方式。

asyncCallback
AsyncCallback

一个 AsyncCallback 委托,该委托引用当身份验证完成时要调用的方法。

asyncState
Object

一个用户定义对象,其中包含写操作的相关信息。 操作完成时,此对象传递给 asyncCallback 委托。

返回

一个指示异步操作状态的 IAsyncResult 对象。

例外

policy 参数中传递的扩展保护策略上,CustomChannelBindingCustomServiceNames 都是 null

credentialnull

requiredImpersonationLevel 必须为 IdentificationImpersonationDelegation

身份验证失败。 可以使用此对象尝试重新进行身份验证。

身份验证失败。 可以使用此对象尝试重新进行身份验证。

已进行了身份验证。

- 或 -

此流先前被用作客户端尝试进行身份验证。 不能尝试将该流作为服务器重新进行身份验证。

此对象已关闭。

在不支持扩展保护的平台上,policy 参数设置为 Always

不支持 windows 95 和 Windows 98。

注解

requiredProtectionLevel使用 参数为使用经过身份验证的流传输的数据请求安全服务。 例如,若要对数据进行加密和签名,请 EncryptAndSign 指定 值。 成功的身份验证并不能保证已授予请求 ProtectionLevel 的 。 必须检查 IsEncryptedIsSigned 属性来确定 所使用的NegotiateStream安全服务。

policy如果 参数为 null,则使用已设置为 NeverPolicyEnforcement扩展保护策略。

此方法是异步的,在操作完成时不会阻止。 若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。

异步身份验证操作必须通过调用 EndAuthenticateAsServer 方法来完成。 通常,委托会调用 asyncCallback 方法。 有关使用异步编程模型的详细信息,请参阅 异步调用同步方法

如果身份验证失败,则会收到 AuthenticationExceptionInvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。

另请参阅

适用于

BeginAuthenticateAsServer(AsyncCallback, Object)

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 此方法不会进入阻止状态。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsServer (asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

参数

asyncCallback
AsyncCallback

一个 AsyncCallback 委托,该委托引用当身份验证完成时要调用的方法。

asyncState
Object

一个用户定义对象,其中包含该操作的相关信息。 操作完成时,此对象传递给 asyncCallback 委托。

返回

一个指示异步操作状态的 IAsyncResult 对象。

例外

身份验证失败。 可以使用此对象尝试重新进行身份验证。

身份验证失败。 可以使用此对象尝试重新进行身份验证。

此对象已关闭。

不支持 windows 95 和 Windows 98。

注解

身份验证使用服务器的 DefaultCredentials。 未为服务器指定服务主体名称 (SPN) 。 模拟级别为 Identification,安全级别为 EncryptAndSign

身份验证成功后,必须检查 IsEncryptedIsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。

若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。

如果身份验证失败,则会收到 AuthenticationExceptionInvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。

适用于

BeginAuthenticateAsServer(ExtendedProtectionPolicy, AsyncCallback, Object)

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 身份验证过程使用指定的扩展保护策略。 此方法不会进入阻止状态。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(System::Security::Authentication::ExtendedProtection::ExtendedProtectionPolicy ^ policy, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy? policy, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy policy, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsServer (policy As ExtendedProtectionPolicy, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

参数

policy
ExtendedProtectionPolicy

用于扩展保护的 ExtendedProtectionPolicy

asyncCallback
AsyncCallback

一个 AsyncCallback 委托,该委托引用当身份验证完成时要调用的方法。

asyncState
Object

一个用户定义对象,其中包含写操作的相关信息。 操作完成时,此对象传递给 asyncCallback 委托。

返回

一个指示异步操作状态的 IAsyncResult 对象。

例外

policy 参数中传递的扩展保护策略上,CustomChannelBindingCustomServiceNames 都是 null

身份验证失败。 可以使用此对象尝试重新进行身份验证。

身份验证失败。 可以使用此对象尝试重新进行身份验证。

此对象已关闭。

在不支持扩展保护的平台上,policy 参数设置为 Always

不支持 windows 95 和 Windows 98。

注解

身份验证使用服务器的 DefaultCredentials。 未为服务器指定服务主体名称 (SPN) 。 模拟级别为 Identification,安全级别为 EncryptAndSign

policy如果 参数为 null,则使用已设置为 NeverPolicyEnforcement扩展保护策略。

身份验证成功后,必须检查 IsEncryptedIsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。

若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。

如果身份验证失败,则会收到 AuthenticationExceptionInvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。

另请参阅

适用于

BeginAuthenticateAsServer(NetworkCredential, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Source:
NegotiateStream.cs
Source:
NegotiateStream.cs
Source:
NegotiateStream.cs

服务器调用此方法开始一个异步操作,以对客户端-服务器连接中的客户端及服务器(可选)进行身份验证。 身份验证过程使用指定的服务器凭据和身份验证选项。 此方法不会进入阻止状态。

public:
 virtual IAsyncResult ^ BeginAuthenticateAsServer(System::Net::NetworkCredential ^ credential, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Net.NetworkCredential credential, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsServer (System.Net.NetworkCredential credential, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel requiredImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsServer : System.Net.NetworkCredential * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsServer (credential As NetworkCredential, requiredProtectionLevel As ProtectionLevel, requiredImpersonationLevel As TokenImpersonationLevel, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

参数

credential
NetworkCredential

用于确立客户端身份的 NetworkCredential

requiredProtectionLevel
ProtectionLevel

ProtectionLevel 值之一,指示流的安全服务。

requiredImpersonationLevel
TokenImpersonationLevel

TokenImpersonationLevel 值之一,指示服务器使用客户端凭据访问资源的方式。

asyncCallback
AsyncCallback

一个 AsyncCallback 委托,该委托引用当身份验证完成时要调用的方法。

asyncState
Object

一个用户定义对象,其中包含该操作的相关信息。 操作完成时,此对象传递给 asyncCallback 委托。

返回

一个指示异步操作状态的 IAsyncResult 对象。

例外

credentialnull

requiredImpersonationLevel 必须为 IdentificationImpersonationDelegation

身份验证失败。 可以使用此对象尝试重新进行身份验证。

身份验证失败。 可以使用此对象尝试重新进行身份验证。

此对象已关闭。

已进行了身份验证。

- 或 -

此流先前被用作客户端尝试进行身份验证。 不能尝试将该流作为服务器重新进行身份验证。

不支持 windows 95 和 Windows 98。

注解

requiredProtectionLevel使用 参数为使用经过身份验证的流传输的数据请求安全服务。 例如,若要对数据进行加密和签名,请 EncryptAndSign 指定 值。 成功的身份验证并不能保证已授予请求 ProtectionLevel 的 。 必须检查 IsEncryptedIsSigned 属性来确定 所使用的NegotiateStream安全服务。

此方法是异步的,在操作完成时不会阻止。 若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。

异步身份验证操作必须通过调用 EndAuthenticateAsServer 方法来完成。 通常,委托调用 asyncCallback 方法。 有关使用异步编程模型的详细信息,请参阅 异步调用同步方法

如果身份验证失败,则会收到 AuthenticationExceptionInvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。

适用于