Aracılığıyla paylaş


NegotiateStream.BeginAuthenticateAsClient Yöntem

Tanım

İstemci-sunucu bağlantısının istemci tarafında kimlik doğrulaması yapmak için zaman uyumsuz bir işlem başlatır.

Aşırı Yüklemeler

BeginAuthenticateAsClient(AsyncCallback, Object)

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Bu yöntem engellemez.

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini kullanır. Bu yöntem engellemez.

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini ve kanal bağlamasını kullanır. Bu yöntem engellemez.

BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini ve kimlik doğrulama seçeneklerini kullanır. Bu yöntem engellemez.

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini, kimlik doğrulama seçeneklerini ve kanal bağlamasını kullanır. Bu yöntem engellemez.

Açıklamalar

Kimlik doğrulaması devam ederken bu yöntemin aşırı yüklemeleri engellemez. Kimlik doğrulamasının tamamlanmasını beklerken engellemek için yöntemlerden birini AuthenticateAsClient kullanın.

BeginAuthenticateAsClient(AsyncCallback, Object)

Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Bu yöntem engellemez.

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

Parametreler

asyncCallback
AsyncCallback

AsyncCallback Kimlik doğrulaması tamamlandığında çağırma yöntemine başvuran bir temsilci.

asyncState
Object

İşlem hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye asyncCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz işlemin durumunu gösteren bir nesne.

Özel durumlar

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Bu nesne kapatıldı.

Kimlik doğrulaması zaten gerçekleşti.

-veya-

Bu akış daha önce sunucu olarak kimlik doğrulamayı deneme amacıyla kullanılıyordu. İstemci olarak kimlik doğrulamasını yeniden denemek için akışı kullanamazsınız.

Örnekler

Aşağıdaki örnekte, istemci için zaman uyumsuz kimlik doğrulaması başlatmak için bu yöntemin çağrılması gösterilmektedir.

// Establish the remote endpoint for the socket.
// For this example, use the local machine.
IPHostEntry^ ipHostInfo = Dns::GetHostEntry( Dns::GetHostName() );
IPAddress^ ipAddress = ipHostInfo->AddressList[ 0 ];

// Client and server use port 11000. 
IPEndPoint^ remoteEP = gcnew IPEndPoint( ipAddress,11000 );

// Create a TCP/IP socket.
client = gcnew TcpClient;

// Connect the socket to the remote endpoint.
client->Connect( remoteEP );
Console::WriteLine( L"Client connected to {0}.", remoteEP );

// Ensure the client does not close when there is 
// still data to be sent to the server.
client->LingerState = (gcnew LingerOption( true,0 ));

// Request authentication.
NetworkStream^ clientStream = client->GetStream();
NegotiateStream^ authStream = gcnew NegotiateStream( clientStream,false );

// Pass the NegotiateStream as the AsyncState object 
// so that it is available to the callback delegate.
IAsyncResult^ ar = authStream->BeginAuthenticateAsClient( gcnew AsyncCallback( EndAuthenticateCallback ), authStream );

// Establish the remote endpoint for the socket.
// For this example, use the local machine.
IPHostEntry ipHostInfo = Dns.GetHostEntry("localhost");
IPAddress ipAddress = ipHostInfo.AddressList[0];
// Client and server use port 11000.
IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000);
// Create a TCP/IP socket.
client = new TcpClient();
// Connect the socket to the remote endpoint.
client.Connect(remoteEP);
Console.WriteLine("Client connected to {0}.", remoteEP.ToString());
// Ensure the client does not close when there is
// still data to be sent to the server.
client.LingerState = new LingerOption(true, 0);
// Request authentication.
NetworkStream clientStream = client.GetStream();
NegotiateStream authStream = new NegotiateStream(clientStream, false);
// Pass the NegotiateStream as the AsyncState object
// so that it is available to the callback delegate.
Task authenticateTask = authStream
    .AuthenticateAsClientAsync()
    .ContinueWith(task =>
    {
        Console.WriteLine("Client ending authentication...");
        Console.WriteLine("ImpersonationLevel: {0}", authStream.ImpersonationLevel);
    });

' Establish the remote endpoint for the socket.
' For this example, use the local machine.
Dim ipHostInfo = Dns.GetHostEntry("localhost")
Dim ipAddress = ipHostInfo.AddressList(0)

' Client and server use port 11000. 
Dim remoteEP As New IPEndPoint(ipAddress, 11000)

' Create a TCP/IP socket.
client = New TcpClient()

' Connect the socket to the remote endpoint.
client.Connect(remoteEP)
Console.WriteLine("Client connected to {0}.", remoteEP.ToString())

' Ensure the client does not close when there is 
' still data to be sent to the server.
client.LingerState = (New LingerOption(True, 0))

' Request authentication.
Dim clientStream = client.GetStream()
Dim authStream As New NegotiateStream(clientStream, False)

' Pass the NegotiateStream as the AsyncState object 
' so that it is available to the callback delegate.
Dim ar = authStream.BeginAuthenticateAsClient(
    New AsyncCallback(AddressOf EndAuthenticateCallback), authStream)

Açıklamalar

Kimlik doğrulaması istemcinin DefaultCredentialskullanır. Sunucu için Hizmet Asıl Adı (SPN) belirtilmedi. Kimliğe bürünme düzeyi , Identificationgüvenlik düzeyi ise şeklindedir EncryptAndSign. sınıfı, NegotiateStream karşılıklı kimlik doğrulaması için kullanılan SPN'yi oluşturur.

Bu yöntem zaman uyumsuzdur ve işlem tamamlanırken engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden AuthenticateAsClient birini kullanın.

Zaman uyumsuz kimlik doğrulama işlemi yöntemi çağrılarak EndAuthenticateAsClient tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır asyncCallback . Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma

Kimlik doğrulaması başarısız olursa veya InvalidCredentialExceptionalırsınızAuthenticationException. Bu durumda, kimlik doğrulamasını farklı bir kimlik bilgileriyle yeniden deneyebilirsiniz.

Şunlara uygulanır

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini kullanır. Bu yöntem engellemez.

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::String ^ targetName, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, string targetName, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, string targetName, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, targetName As String, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

Parametreler

credential
NetworkCredential

NetworkCredential İstemcinin kimliğini oluşturmak için kullanılan.

targetName
String

Kimlik doğrulaması için sunucuyu benzersiz olarak tanımlayan Hizmet Asıl Adı (SPN).

asyncCallback
AsyncCallback

AsyncCallback Kimlik doğrulaması tamamlandığında çağırma yöntemine başvuran bir temsilci.

asyncState
Object

Yazma işlemi hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye asyncCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz işlemin durumunu gösteren bir nesne.

Özel durumlar

credential, null değeridir.

-veya-

targetName, null değeridir.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Bu nesne kapatıldı.

Kimlik doğrulaması zaten gerçekleşti.

-veya-

Bu akış daha önce sunucu olarak kimlik doğrulamayı deneme amacıyla kullanılıyordu. İstemci olarak kimlik doğrulamasını yeniden denemek için akışı kullanamazsınız.

Açıklamalar

Bu yöntem zaman uyumsuzdur ve işlem tamamlanırken engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden AuthenticateAsClient birini kullanın.

Zaman uyumsuz kimlik doğrulama işlemi yöntemi çağrılarak EndAuthenticateAsClient tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır asyncCallback . Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma

Kimlik doğrulaması başarısız olursa veya InvalidCredentialExceptionalırsınızAuthenticationException. Bu durumda, kimlik doğrulamasını farklı bir kimlik bilgileriyle yeniden deneyebilirsiniz.

Şunlara uygulanır

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)

Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini ve kanal bağlamasını kullanır. Bu yöntem engellemez.

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, binding As ChannelBinding, targetName As String, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

Parametreler

credential
NetworkCredential

NetworkCredential İstemcinin kimliğini oluşturmak için kullanılan.

binding
ChannelBinding

ChannelBinding Genişletilmiş koruma için kullanılan.

targetName
String

Kimlik doğrulaması için sunucuyu benzersiz olarak tanımlayan Hizmet Asıl Adı (SPN).

asyncCallback
AsyncCallback

AsyncCallback Kimlik doğrulaması tamamlandığında çağırma yöntemine başvuran bir temsilci.

asyncState
Object

Yazma işlemi hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye asyncCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz işlemin durumunu gösteren bir nesne.

Özel durumlar

credential, null değeridir.

-veya-

targetName, null değeridir.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Kimlik doğrulaması zaten gerçekleşti.

-veya-

Bu akış daha önce sunucu olarak kimlik doğrulamayı deneme amacıyla kullanılıyordu. İstemci olarak kimlik doğrulamasını yeniden denemek için akışı kullanamazsınız.

Bu nesne kapatıldı.

Açıklamalar

Bu yöntem zaman uyumsuzdur ve işlem tamamlanırken engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden AuthenticateAsClient birini kullanın.

Zaman uyumsuz kimlik doğrulama işlemi yöntemi çağrılarak EndAuthenticateAsClient tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır asyncCallback . Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma

Kimlik doğrulaması başarısız olursa veya InvalidCredentialExceptionalırsınızAuthenticationException. Bu durumda, kimlik doğrulamasını farklı bir kimlik bilgileriyle yeniden deneyebilirsiniz.

Ayrıca bkz.

Şunlara uygulanır

BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini ve kimlik doğrulama seçeneklerini kullanır. Bu yöntem engellemez.

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

Parametreler

credential
NetworkCredential

NetworkCredential İstemcinin kimliğini oluşturmak için kullanılan.

targetName
String

Kimlik doğrulaması için sunucuyu benzersiz olarak tanımlayan Hizmet Asıl Adı (SPN).

requiredProtectionLevel
ProtectionLevel

ProtectionLevel Akış için güvenlik hizmetlerini gösteren değerlerden biri.

allowedImpersonationLevel
TokenImpersonationLevel

Sunucunun kaynaklara TokenImpersonationLevel erişmek için istemcinin kimlik bilgilerini nasıl kullanabileceğini gösteren değerlerden biri.

asyncCallback
AsyncCallback

AsyncCallback Kimlik doğrulaması tamamlandığında çağırma yöntemine başvuran bir temsilci.

asyncState
Object

Yazma işlemi hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye asyncCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz işlemin durumunu gösteren bir nesne.

Özel durumlar

credential, null değeridir.

-veya-

targetName, null değeridir.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Bu nesne kapatıldı.

Kimlik doğrulaması zaten gerçekleşti.

-veya-

Bu akış daha önce sunucu olarak kimlik doğrulamayı deneme amacıyla kullanılıyordu. İstemci olarak kimlik doğrulamasını yeniden denemek için akışı kullanamazsınız.

Açıklamalar

requiredProtectionLevel Kimliği doğrulanmış akış kullanılarak iletilen veriler için güvenlik hizmetleri istemek için parametresini kullanın. Örneğin, verilerin şifrelenip imzalanmış olması için değeri belirtin EncryptAndSign . Başarılı kimlik doğrulaması, istenenin ProtectionLevel verildiğini garanti etmez. tarafından NegotiateStreamhangi güvenlik hizmetlerinin IsEncrypted kullanıldığını belirlemek için ve IsSigned özelliklerini denetlemeniz gerekir.

Bu yöntem zaman uyumsuzdur ve işlem tamamlanırken engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden AuthenticateAsClient birini kullanın.

Zaman uyumsuz kimlik doğrulama işlemi yöntemi çağrılarak EndAuthenticateAsClient tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır asyncCallback . Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma

Kimlik doğrulaması başarısız olursa veya InvalidCredentialExceptionalırsınızAuthenticationException. Bu durumda, kimlik doğrulamasını farklı bir kimlik bilgileriyle yeniden deneyebilirsiniz.

Şunlara uygulanır

BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)

Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs
Kaynak:
NegotiateStream.cs

İstemci-sunucu bağlantısında istemcinin ve isteğe bağlı olarak sunucunun kimliğini doğrulamak için zaman uyumsuz bir işlem başlatmak için istemciler tarafından çağrılır. Kimlik doğrulama işlemi belirtilen kimlik bilgilerini, kimlik doğrulama seçeneklerini ve kanal bağlamasını kullanır. Bu yöntem engellemez.

public:
 virtual IAsyncResult ^ BeginAuthenticateAsClient(System::Net::NetworkCredential ^ credential, System::Security::Authentication::ExtendedProtection::ChannelBinding ^ binding, System::String ^ targetName, System::Net::Security::ProtectionLevel requiredProtectionLevel, System::Security::Principal::TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback ^ asyncCallback, System::Object ^ asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding? binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (System.Net.NetworkCredential credential, System.Security.Authentication.ExtendedProtection.ChannelBinding binding, string targetName, System.Net.Security.ProtectionLevel requiredProtectionLevel, System.Security.Principal.TokenImpersonationLevel allowedImpersonationLevel, AsyncCallback asyncCallback, object asyncState);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * System.Security.Authentication.ExtendedProtection.ChannelBinding * string * System.Net.Security.ProtectionLevel * System.Security.Principal.TokenImpersonationLevel * AsyncCallback * obj -> IAsyncResult
Public Overridable Function BeginAuthenticateAsClient (credential As NetworkCredential, binding As ChannelBinding, targetName As String, requiredProtectionLevel As ProtectionLevel, allowedImpersonationLevel As TokenImpersonationLevel, asyncCallback As AsyncCallback, asyncState As Object) As IAsyncResult

Parametreler

credential
NetworkCredential

NetworkCredential İstemcinin kimliğini oluşturmak için kullanılan.

binding
ChannelBinding

ChannelBinding Genişletilmiş koruma için kullanılan.

targetName
String

Kimlik doğrulaması için sunucuyu benzersiz olarak tanımlayan Hizmet Asıl Adı (SPN).

requiredProtectionLevel
ProtectionLevel

ProtectionLevel Akış için güvenlik hizmetlerini gösteren değerlerden biri.

allowedImpersonationLevel
TokenImpersonationLevel

Sunucunun kaynaklara TokenImpersonationLevel erişmek için istemcinin kimlik bilgilerini nasıl kullanabileceğini gösteren değerlerden biri.

asyncCallback
AsyncCallback

AsyncCallback Kimlik doğrulaması tamamlandığında çağırma yöntemine başvuran bir temsilci.

asyncState
Object

Yazma işlemi hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye asyncCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz işlemin durumunu gösteren bir nesne.

Özel durumlar

credential, null değeridir.

-veya-

targetName, null değeridir.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Kimlik doğrulaması başarısız oldu. Kimlik doğrulamasını yeniden denemek için bu nesneyi kullanabilirsiniz.

Kimlik doğrulaması zaten gerçekleşti.

-veya-

Bu akış daha önce sunucu olarak kimlik doğrulamayı deneme amacıyla kullanılıyordu. İstemci olarak kimlik doğrulamasını yeniden denemek için akışı kullanamazsınız.

Bu nesne kapatıldı.

Açıklamalar

requiredProtectionLevel Kimliği doğrulanmış akış kullanılarak iletilen veriler için güvenlik hizmetleri istemek için parametresini kullanın. Örneğin, verilerin şifrelenip imzalanmış olması için değeri belirtin EncryptAndSign . Başarılı kimlik doğrulaması, istenenin ProtectionLevel verildiğini garanti etmez. tarafından NegotiateStreamhangi güvenlik hizmetlerinin IsEncrypted kullanıldığını belirlemek için ve IsSigned özelliklerini denetlemeniz gerekir.

Bu yöntem zaman uyumsuzdur ve işlem tamamlanırken engellemez. İşlem tamamlanana kadar engellemek için yöntem aşırı yüklemelerinden AuthenticateAsClient birini kullanın.

Zaman uyumsuz kimlik doğrulama işlemi yöntemi çağrılarak EndAuthenticateAsClient tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır asyncCallback . Zaman uyumsuz programlama modelini kullanma hakkında ayrıntılı bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma

Kimlik doğrulaması başarısız olursa veya InvalidCredentialExceptionalırsınızAuthenticationException. Bu durumda, kimlik doğrulamasını farklı bir kimlik bilgileriyle yeniden deneyebilirsiniz.

Ayrıca bkz.

Şunlara uygulanır