NegotiateStream.BeginAuthenticateAsClient Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zahájí asynchronní operaci ověření na straně klienta připojení klient-server.
Přetížení
BeginAuthenticateAsClient(AsyncCallback, Object) |
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Tato metoda neblokuje. |
BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object) |
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje. Tato metoda neblokuje. |
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object) |
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje a vazbu kanálu. Tato metoda neblokuje. |
BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object) |
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje a možnosti ověřování. Tato metoda neblokuje. |
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object) |
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje, možnosti ověřování a vazbu kanálu. Tato metoda neblokuje. |
Poznámky
Přetížení této metody neblokují, když probíhá ověřování. Pokud chcete blokovat při čekání na dokončení ověřování, použijte jednu z těchto AuthenticateAsClient metod.
BeginAuthenticateAsClient(AsyncCallback, Object)
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Tato metoda neblokuje.
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
Parametry
- asyncCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení ověřování.
- asyncState
- Object
Uživatelem definovaný objekt obsahující informace o operaci. Tento objekt se po dokončení operace předá asyncCallback
delegátu.
Návraty
Objekt IAsyncResult označující stav asynchronní operace.
Výjimky
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Tento objekt byl uzavřen.
Ověřování již proběhlo.
-nebo-
Tento stream se dříve používal k pokusu o ověření jako server. Datový proud nelze použít k opakování ověření jako klient.
Příklady
Následující příklad ukazuje volání této metody pro zahájení asynchronního ověřování klienta.
// 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)
Poznámky
Při ověřování se používá klient .DefaultCredentials Pro server není zadán žádný hlavní název služby (SPN). Úroveň zosobnění je Identificationa úroveň zabezpečení je EncryptAndSign. Třída NegotiateStream vytvoří hlavní název služby (SPN) použitý pro vzájemné ověřování.
Tato metoda je asynchronní a během dokončení operace neblokuje. Pokud chcete blokovat, dokud se operace dokončit, použijte některé z AuthenticateAsClient přetížení metody.
Asynchronní operace ověřování musí být dokončena voláním EndAuthenticateAsClient metody. Obvykle je metoda vyvolána delegátem asyncCallback
. Podrobné informace o použití asynchronního programovacího modelu najdete v tématu Asynchronní volání synchronních metod.
Pokud se ověření nezdaří, obdržíte nebo AuthenticationExceptionInvalidCredentialException. V takovém případě můžete zkusit ověření zopakovat pomocí jiných přihlašovacích údajů.
Platí pro
BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje. Tato metoda neblokuje.
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
Parametry
- credential
- NetworkCredential
Slouží NetworkCredential k vytvoření identity klienta.
- targetName
- String
Hlavní název služby (SPN), který jednoznačně identifikuje server, který se má ověřit.
- asyncCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení ověřování.
- asyncState
- Object
Uživatelem definovaný objekt obsahující informace o operaci zápisu. Tento objekt se po dokončení operace předá asyncCallback
delegátu.
Návraty
Objekt IAsyncResult označující stav asynchronní operace.
Výjimky
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Tento objekt byl uzavřen.
Ověřování již proběhlo.
-nebo-
Tento stream se dříve používal k pokusu o ověření jako server. Datový proud nelze použít k opakování ověření jako klient.
Poznámky
Tato metoda je asynchronní a během dokončení operace neblokuje. Pokud chcete blokovat, dokud se operace dokončit, použijte některé z AuthenticateAsClient přetížení metody.
Asynchronní operace ověřování musí být dokončena voláním EndAuthenticateAsClient metody. Obvykle je metoda vyvolána delegátem asyncCallback
. Podrobné informace o použití asynchronního programovacího modelu najdete v tématu Asynchronní volání synchronních metod.
Pokud se ověření nezdaří, obdržíte nebo AuthenticationExceptionInvalidCredentialException. V takovém případě můžete zkusit ověření zopakovat pomocí jiných přihlašovacích údajů.
Platí pro
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, AsyncCallback, Object)
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje a vazbu kanálu. Tato metoda neblokuje.
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
Parametry
- credential
- NetworkCredential
Slouží NetworkCredential k vytvoření identity klienta.
- binding
- ChannelBinding
Používá ChannelBinding se pro rozšířenou ochranu.
- targetName
- String
Hlavní název služby (SPN), který jednoznačně identifikuje server, který se má ověřit.
- asyncCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení ověřování.
- asyncState
- Object
Uživatelem definovaný objekt obsahující informace o operaci zápisu. Tento objekt se po dokončení operace předá asyncCallback
delegátu.
Návraty
Objekt IAsyncResult označující stav asynchronní operace.
Výjimky
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Ověřování již proběhlo.
-nebo-
Tento stream se dříve používal k pokusu o ověření jako server. Datový proud nelze použít k opakování ověření jako klient.
Tento objekt byl uzavřen.
Poznámky
Tato metoda je asynchronní a během dokončení operace neblokuje. Pokud chcete blokovat, dokud se operace dokončit, použijte některé z AuthenticateAsClient přetížení metody.
Asynchronní operace ověřování musí být dokončena voláním EndAuthenticateAsClient metody. Obvykle je metoda vyvolána delegátem asyncCallback
. Podrobné informace o použití asynchronního programovacího modelu najdete v tématu Asynchronní volání synchronních metod.
Pokud se ověření nezdaří, obdržíte nebo AuthenticationExceptionInvalidCredentialException. V takovém případě můžete zkusit ověření zopakovat pomocí jiných přihlašovacích údajů.
Viz také
Platí pro
BeginAuthenticateAsClient(NetworkCredential, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje a možnosti ověřování. Tato metoda neblokuje.
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
Parametry
- credential
- NetworkCredential
Slouží NetworkCredential k vytvoření identity klienta.
- targetName
- String
Hlavní název služby (SPN), který jednoznačně identifikuje server, který se má ověřit.
- requiredProtectionLevel
- ProtectionLevel
Jedna z ProtectionLevel hodnot označujících služby zabezpečení pro datový proud.
- allowedImpersonationLevel
- TokenImpersonationLevel
Jedna z TokenImpersonationLevel hodnot označujících, jak může server používat přihlašovací údaje klienta pro přístup k prostředkům.
- asyncCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení ověřování.
- asyncState
- Object
Uživatelem definovaný objekt obsahující informace o operaci zápisu. Tento objekt se po dokončení operace předá asyncCallback
delegátu.
Návraty
Objekt IAsyncResult označující stav asynchronní operace.
Výjimky
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Tento objekt byl uzavřen.
Ověřování již proběhlo.
-nebo-
Tento stream se dříve používal k pokusu o ověření jako server. Datový proud nelze použít k opakování ověření jako klient.
Poznámky
Pomocí parametru requiredProtectionLevel
můžete požadovat služby zabezpečení pro data přenášená pomocí ověřeného datového proudu. Pokud chcete mít například data zašifrovaná a podepsaná, zadejte EncryptAndSign hodnotu. Úspěšné ověření nezaručuje, že požadovanému ProtectionLevel ověření bylo uděleno. Pokud chcete zjistit, které služby zabezpečení používá NegotiateStreamnástroj , musíte zkontrolovat IsEncrypted vlastnosti a IsSigned .
Tato metoda je asynchronní a během dokončení operace neblokuje. Pokud chcete blokovat, dokud se operace dokončit, použijte některé z AuthenticateAsClient přetížení metody.
Asynchronní operace ověřování musí být dokončena voláním EndAuthenticateAsClient metody. Obvykle je metoda vyvolána delegátem asyncCallback
. Podrobné informace o použití asynchronního programovacího modelu najdete v tématu Asynchronní volání synchronních metod.
Pokud se ověření nezdaří, obdržíte nebo AuthenticationExceptionInvalidCredentialException. V takovém případě můžete zkusit ověření zopakovat pomocí jiných přihlašovacích údajů.
Platí pro
BeginAuthenticateAsClient(NetworkCredential, ChannelBinding, String, ProtectionLevel, TokenImpersonationLevel, AsyncCallback, Object)
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
- Zdroj:
- NegotiateStream.cs
Volali klienti k zahájení asynchronní operace ověření klienta a volitelně serveru v připojení klient-server. Proces ověřování používá zadané přihlašovací údaje, možnosti ověřování a vazbu kanálu. Tato metoda neblokuje.
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
Parametry
- credential
- NetworkCredential
Slouží NetworkCredential k vytvoření identity klienta.
- binding
- ChannelBinding
Používá ChannelBinding se pro rozšířenou ochranu.
- targetName
- String
Hlavní název služby (SPN), který jednoznačně identifikuje server, který se má ověřit.
- requiredProtectionLevel
- ProtectionLevel
Jedna z ProtectionLevel hodnot označujících služby zabezpečení pro datový proud.
- allowedImpersonationLevel
- TokenImpersonationLevel
Jedna z TokenImpersonationLevel hodnot označujících, jak může server používat přihlašovací údaje klienta pro přístup k prostředkům.
- asyncCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení ověřování.
- asyncState
- Object
Uživatelem definovaný objekt obsahující informace o operaci zápisu. Tento objekt se po dokončení operace předá asyncCallback
delegátu.
Návraty
Objekt IAsyncResult označující stav asynchronní operace.
Výjimky
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Ověření se nezdařilo. Tento objekt můžete použít k opakování ověřování.
Ověřování již proběhlo.
-nebo-
Tento stream se dříve používal k pokusu o ověření jako server. Datový proud nelze použít k opakování ověření jako klient.
Tento objekt byl uzavřen.
Poznámky
Pomocí parametru requiredProtectionLevel
můžete požadovat služby zabezpečení pro data přenášená pomocí ověřeného datového proudu. Pokud chcete mít například data zašifrovaná a podepsaná, zadejte EncryptAndSign hodnotu. Úspěšné ověření nezaručuje, že požadovanému ProtectionLevel ověření bylo uděleno. Pokud chcete zjistit, které služby zabezpečení používá NegotiateStreamnástroj , musíte zkontrolovat IsEncrypted vlastnosti a IsSigned .
Tato metoda je asynchronní a během dokončení operace neblokuje. Pokud chcete blokovat, dokud se operace dokončit, použijte některé z AuthenticateAsClient přetížení metody.
Asynchronní operace ověřování musí být dokončena voláním EndAuthenticateAsClient metody. Obvykle je metoda vyvolána delegátem asyncCallback
. Podrobné informace o použití asynchronního programovacího modelu najdete v tématu Asynchronní volání synchronních metod.
Pokud se ověření nezdaří, obdržíte nebo AuthenticationExceptionInvalidCredentialException. V takovém případě můžete zkusit ověření zopakovat pomocí jiných přihlašovacích údajů.