NegotiateStream.BeginAuthenticateAsServer 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
开始一个异步操作,以处理进行身份验证的客户端-服务器连接中的服务器端。
重载
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
参数中传递的扩展保护策略上,CustomChannelBinding 和 CustomServiceNames 都是 null
。
credential
为 null
。
requiredImpersonationLevel
必须为 Identification、Impersonation 或 Delegation,
身份验证失败。 可以使用此对象尝试重新进行身份验证。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
此对象已关闭。
在不支持扩展保护的平台上,policy
参数设置为 Always。
不支持 windows 95 和 Windows 98。
注解
requiredProtectionLevel
使用 参数为使用经过身份验证的流传输的数据请求安全服务。 例如,若要对数据进行加密和签名,请 EncryptAndSign 指定 值。 成功的身份验证并不能保证已授予请求 ProtectionLevel 的 。 必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。
policy
如果 参数为 null
,则使用已设置为 Never的PolicyEnforcement扩展保护策略。
此方法是异步的,在操作完成时不会阻止。 若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。
异步身份验证操作必须通过调用 EndAuthenticateAsServer 方法来完成。 通常,委托会调用 asyncCallback
方法。 有关使用异步编程模型的详细信息,请参阅 异步调用同步方法
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。
另请参阅
适用于
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。
身份验证成功后,必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。
若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。
适用于
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
参数中传递的扩展保护策略上,CustomChannelBinding 和 CustomServiceNames 都是 null
。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
此对象已关闭。
在不支持扩展保护的平台上,policy
参数设置为 Always。
不支持 windows 95 和 Windows 98。
注解
身份验证使用服务器的 DefaultCredentials。 未为服务器指定服务主体名称 (SPN) 。 模拟级别为 Identification,安全级别为 EncryptAndSign。
policy
如果 参数为 null
,则使用已设置为 Never的PolicyEnforcement扩展保护策略。
身份验证成功后,必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。 IsMutuallyAuthenticated检查 属性以确定是否发生了相互身份验证。
若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。
另请参阅
适用于
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 对象。
例外
credential
为 null
。
requiredImpersonationLevel
必须为 Identification、Impersonation 或 Delegation,
身份验证失败。 可以使用此对象尝试重新进行身份验证。
身份验证失败。 可以使用此对象尝试重新进行身份验证。
此对象已关闭。
不支持 windows 95 和 Windows 98。
注解
requiredProtectionLevel
使用 参数为使用经过身份验证的流传输的数据请求安全服务。 例如,若要对数据进行加密和签名,请 EncryptAndSign 指定 值。 成功的身份验证并不能保证已授予请求 ProtectionLevel 的 。 必须检查 IsEncrypted 和 IsSigned 属性来确定 所使用的NegotiateStream安全服务。
此方法是异步的,在操作完成时不会阻止。 若要在操作完成之前阻止,请使用 方法重载之 AuthenticateAsServer 一。
异步身份验证操作必须通过调用 EndAuthenticateAsServer 方法来完成。 通常,委托调用 asyncCallback
方法。 有关使用异步编程模型的详细信息,请参阅 异步调用同步方法
如果身份验证失败,则会收到 AuthenticationException 或 InvalidCredentialException。 在这种情况下,可以使用其他凭据重试身份验证。