Bagikan melalui


NegotiateStream.BeginAuthenticateAsClient Metode

Definisi

Memulai operasi asinkron untuk mengautentikasi sisi klien koneksi server klien.

Overload

BeginAuthenticateAsClient(AsyncCallback, Object)

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi klien-server. Metode ini tidak memblokir.

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi klien-server. Proses autentikasi menggunakan kredensial yang ditentukan. Metode ini tidak memblokir.

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

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi klien-server. Proses autentikasi menggunakan kredensial dan pengikatan saluran yang ditentukan. Metode ini tidak memblokir.

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

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi klien-server. Proses autentikasi menggunakan kredensial dan opsi autentikasi yang ditentukan. Metode ini tidak memblokir.

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

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi klien-server. Proses autentikasi menggunakan kredensial, opsi autentikasi, dan pengikatan saluran yang ditentukan. Metode ini tidak memblokir.

Keterangan

Kelebihan beban metode ini tidak memblokir saat autentikasi sedang berlangsung. Untuk memblokir sambil menunggu autentikasi selesai, gunakan salah AuthenticateAsClient satu metode .

BeginAuthenticateAsClient(AsyncCallback, Object)

Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi klien-server. Metode ini tidak memblokir.

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

Parameter

asyncCallback
AsyncCallback

Delegasi AsyncCallback yang mereferensikan metode untuk dipanggil saat autentikasi selesai.

asyncState
Object

Objek yang ditentukan pengguna yang berisi informasi tentang operasi. Objek ini diteruskan ke asyncCallback delegasi ketika operasi selesai.

Mengembalikan

Objek IAsyncResult yang menunjukkan status operasi asinkron.

Pengecualian

Autentikasi gagal. Anda bisa menggunakan objek ini untuk mencoba kembali otentikasi.

Autentikasi gagal. Anda bisa menggunakan objek ini untuk mencoba kembali otentikasi.

Objek ini telah ditutup.

Autentikasi telah terjadi.

-atau-

Aliran ini digunakan sebelumnya untuk mencoba autentikasi sebagai server. Anda tidak dapat menggunakan aliran untuk mencoba kembali autentikasi sebagai klien.

Contoh

Contoh berikut menunjukkan pemanggilan metode ini untuk memulai autentikasi asinkron untuk klien.

// 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)

Keterangan

Autentikasi menggunakan DefaultCredentialsklien . Tidak ada Nama Prinsipal Layanan (SPN) yang ditentukan untuk server. Tingkat peniruan adalah Identification, dan tingkat keamanannya adalah EncryptAndSign. Kelas NegotiateStream akan membangun SPN yang digunakan untuk autentikasi bersama.

Metode ini asinkron dan tidak memblokir saat operasi selesai. Untuk memblokir hingga operasi selesai, gunakan salah AuthenticateAsClient satu metode kelebihan beban.

Operasi autentikasi asinkron harus diselesaikan dengan memanggil EndAuthenticateAsClient metode . Biasanya, metode ini dipanggil oleh asyncCallback delegasi. Untuk informasi terperinci tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron

Jika autentikasi gagal, Anda menerima AuthenticationException atau InvalidCredentialException. Dalam hal ini, Anda dapat mencoba kembali autentikasi dengan kredensial yang berbeda.

Berlaku untuk

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi klien-server. Proses autentikasi menggunakan kredensial yang ditentukan. Metode ini tidak memblokir.

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

Parameter

credential
NetworkCredential

NetworkCredential yang digunakan untuk menetapkan identitas klien.

targetName
String

Nama Prinsipal Layanan (SPN) yang secara unik mengidentifikasi server untuk diautentikasi.

asyncCallback
AsyncCallback

Delegasi AsyncCallback yang mereferensikan metode untuk dipanggil saat autentikasi selesai.

asyncState
Object

Objek yang ditentukan pengguna yang berisi informasi tentang operasi tulis. Objek ini diteruskan ke asyncCallback delegasi ketika operasi selesai.

Mengembalikan

Objek IAsyncResult yang menunjukkan status operasi asinkron.

Pengecualian

credentialadalah null.

-atau-

targetNameadalah null.

Autentikasi gagal. Anda bisa menggunakan objek ini untuk mencoba kembali otentikasi.

Autentikasi gagal. Anda bisa menggunakan objek ini untuk mencoba kembali otentikasi.

Objek ini telah ditutup.

Autentikasi telah terjadi.

-atau-

Aliran ini digunakan sebelumnya untuk mencoba autentikasi sebagai server. Anda tidak dapat menggunakan aliran untuk mencoba kembali autentikasi sebagai klien.

Keterangan

Metode ini asinkron dan tidak memblokir saat operasi selesai. Untuk memblokir hingga operasi selesai, gunakan salah AuthenticateAsClient satu metode kelebihan beban.

Operasi autentikasi asinkron harus diselesaikan dengan memanggil EndAuthenticateAsClient metode . Biasanya, metode ini dipanggil oleh asyncCallback delegasi. Untuk informasi terperinci tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron

Jika autentikasi gagal, Anda menerima AuthenticationException atau InvalidCredentialException. Dalam hal ini, Anda dapat mencoba kembali autentikasi dengan kredensial yang berbeda.

Berlaku untuk

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

Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi server klien. Proses autentikasi menggunakan kredensial dan pengikatan saluran yang ditentukan. Metode ini tidak memblokir.

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

Parameter

credential
NetworkCredential

NetworkCredential yang digunakan untuk menetapkan identitas klien.

binding
ChannelBinding

ChannelBinding yang digunakan untuk perlindungan yang diperpanjang.

targetName
String

Nama Perwakilan Layanan (SPN) yang secara unik mengidentifikasi server untuk diautentikasi.

asyncCallback
AsyncCallback

Delegasi AsyncCallback yang mereferensikan metode yang akan dipanggil saat autentikasi selesai.

asyncState
Object

Objek yang ditentukan pengguna yang berisi informasi tentang operasi tulis. Objek ini diteruskan ke asyncCallback delegasi ketika operasi selesai.

Mengembalikan

Objek IAsyncResult yang menunjukkan status operasi asinkron.

Pengecualian

credentialadalah null.

-atau-

targetNameadalah null.

Autentikasi gagal. Anda bisa menggunakan objek ini untuk mencoba kembali otentikasi.

Autentikasi gagal. Anda bisa menggunakan objek ini untuk mencoba kembali otentikasi.

Autentikasi telah terjadi.

-atau-

Aliran ini digunakan sebelumnya untuk mencoba autentikasi sebagai server. Anda tidak dapat menggunakan aliran untuk mencoba kembali autentikasi sebagai klien.

Objek ini telah ditutup.

Keterangan

Metode ini asinkron dan tidak memblokir saat operasi selesai. Untuk memblokir hingga operasi selesai, gunakan salah satu metode kelebihan AuthenticateAsClient beban.

Operasi autentikasi asinkron harus diselesaikan dengan memanggil EndAuthenticateAsClient metode . Biasanya, metode ini dipanggil oleh asyncCallback delegasi. Untuk informasi terperinci tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron

Jika autentikasi gagal, Anda menerima AuthenticationException atau InvalidCredentialException. Dalam hal ini, Anda dapat mencoba kembali autentikasi dengan kredensial yang berbeda.

Lihat juga

Berlaku untuk

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

Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi server klien. Proses autentikasi menggunakan kredensial dan opsi autentikasi yang ditentukan. Metode ini tidak memblokir.

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

Parameter

credential
NetworkCredential

NetworkCredential yang digunakan untuk menetapkan identitas klien.

targetName
String

Nama Perwakilan Layanan (SPN) yang secara unik mengidentifikasi server untuk diautentikasi.

requiredProtectionLevel
ProtectionLevel

Salah ProtectionLevel satu nilai, menunjukkan layanan keamanan untuk aliran.

allowedImpersonationLevel
TokenImpersonationLevel

Salah TokenImpersonationLevel satu nilai, menunjukkan bagaimana server dapat menggunakan kredensial klien untuk mengakses sumber daya.

asyncCallback
AsyncCallback

Delegasi AsyncCallback yang mereferensikan metode yang akan dipanggil saat autentikasi selesai.

asyncState
Object

Objek yang ditentukan pengguna yang berisi informasi tentang operasi tulis. Objek ini diteruskan ke asyncCallback delegasi ketika operasi selesai.

Mengembalikan

Objek IAsyncResult yang menunjukkan status operasi asinkron.

Pengecualian

credentialadalah null.

-atau-

targetNameadalah null.

Autentikasi gagal. Anda dapat menggunakan objek ini untuk mencoba kembali autentikasi.

Autentikasi gagal. Anda dapat menggunakan objek ini untuk mencoba kembali autentikasi.

Objek ini telah ditutup.

Autentikasi telah terjadi.

-atau-

Aliran ini digunakan sebelumnya untuk mencoba autentikasi sebagai server. Anda tidak dapat menggunakan aliran untuk mencoba kembali autentikasi sebagai klien.

Keterangan

requiredProtectionLevel Gunakan parameter untuk meminta layanan keamanan untuk data yang dikirimkan menggunakan aliran yang diautentikasi. Misalnya, agar data dienkripsi dan ditandatangani, tentukan nilainya EncryptAndSign . Autentikasi yang berhasil tidak menjamin bahwa yang diminta ProtectionLevel telah diberikan. Anda harus memeriksa IsEncrypted properti dan IsSigned untuk menentukan layanan keamanan apa yang digunakan oleh NegotiateStream.

Metode ini asinkron dan tidak memblokir saat operasi selesai. Untuk memblokir hingga operasi selesai, gunakan salah satu metode kelebihan AuthenticateAsClient beban.

Operasi autentikasi asinkron harus diselesaikan dengan memanggil EndAuthenticateAsClient metode . Biasanya, metode ini dipanggil oleh asyncCallback delegasi. Untuk informasi terperinci tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron

Jika autentikasi gagal, Anda menerima AuthenticationException atau InvalidCredentialException. Dalam hal ini, Anda dapat mencoba kembali autentikasi dengan kredensial yang berbeda.

Berlaku untuk

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

Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs
Sumber:
NegotiateStream.cs

Dipanggil oleh klien untuk memulai operasi asinkron untuk mengautentikasi klien, dan secara opsional server, dalam koneksi server klien. Proses autentikasi menggunakan kredensial, opsi autentikasi, dan pengikatan saluran yang ditentukan. Metode ini tidak memblokir.

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

Parameter

credential
NetworkCredential

NetworkCredential yang digunakan untuk menetapkan identitas klien.

binding
ChannelBinding

ChannelBinding yang digunakan untuk perlindungan yang diperpanjang.

targetName
String

Nama Perwakilan Layanan (SPN) yang secara unik mengidentifikasi server untuk diautentikasi.

requiredProtectionLevel
ProtectionLevel

Salah ProtectionLevel satu nilai, menunjukkan layanan keamanan untuk aliran.

allowedImpersonationLevel
TokenImpersonationLevel

Salah TokenImpersonationLevel satu nilai, menunjukkan bagaimana server dapat menggunakan kredensial klien untuk mengakses sumber daya.

asyncCallback
AsyncCallback

Delegasi AsyncCallback yang mereferensikan metode yang akan dipanggil saat autentikasi selesai.

asyncState
Object

Objek yang ditentukan pengguna yang berisi informasi tentang operasi tulis. Objek ini diteruskan ke asyncCallback delegasi ketika operasi selesai.

Mengembalikan

Objek IAsyncResult yang menunjukkan status operasi asinkron.

Pengecualian

credentialadalah null.

-atau-

targetNameadalah null.

Autentikasi gagal. Anda dapat menggunakan objek ini untuk mencoba kembali autentikasi.

Autentikasi gagal. Anda dapat menggunakan objek ini untuk mencoba kembali autentikasi.

Autentikasi telah terjadi.

-atau-

Aliran ini digunakan sebelumnya untuk mencoba autentikasi sebagai server. Anda tidak dapat menggunakan aliran untuk mencoba kembali autentikasi sebagai klien.

Objek ini telah ditutup.

Keterangan

requiredProtectionLevel Gunakan parameter untuk meminta layanan keamanan untuk data yang dikirimkan menggunakan aliran yang diautentikasi. Misalnya, agar data dienkripsi dan ditandatangani, tentukan nilainya EncryptAndSign . Autentikasi yang berhasil tidak menjamin bahwa yang diminta ProtectionLevel telah diberikan. Anda harus memeriksa IsEncrypted properti dan IsSigned untuk menentukan layanan keamanan apa yang digunakan oleh NegotiateStream.

Metode ini asinkron dan tidak memblokir saat operasi selesai. Untuk memblokir hingga operasi selesai, gunakan salah satu metode kelebihan AuthenticateAsClient beban.

Operasi autentikasi asinkron harus diselesaikan dengan memanggil EndAuthenticateAsClient metode . Biasanya, metode ini dipanggil oleh asyncCallback delegasi. Untuk informasi terperinci tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron

Jika autentikasi gagal, Anda menerima AuthenticationException atau InvalidCredentialException. Dalam hal ini, Anda dapat mencoba kembali autentikasi dengan kredensial yang berbeda.

Lihat juga

Berlaku untuk