NegotiateStream.BeginAuthenticateAsClient Metodo

Definizione

Avvia un'operazione asincrona per autenticare il lato client di una connessione client-server.

Overload

BeginAuthenticateAsClient(AsyncCallback, Object)

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Questo metodo non si blocca.

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza le credenziali specificate. Questo metodo non si blocca.

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

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza le credenziali e l'associazione di canale specificate. Questo metodo non si blocca.

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

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza le credenziali e le opzioni di autenticazione specificate. Questo metodo non si blocca.

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

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza l'associazione di canale, le opzioni di autenticazione e le credenziali specificate. Questo metodo non si blocca.

Commenti

Gli overload di questo metodo non bloccano mentre è in corso l'autenticazione. Per bloccare l'attesa del completamento dell'autenticazione, usare uno dei AuthenticateAsClient metodi .

BeginAuthenticateAsClient(AsyncCallback, Object)

Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Questo metodo non si blocca.

public virtual IAsyncResult BeginAuthenticateAsClient (AsyncCallback? asyncCallback, object? asyncState);
public virtual IAsyncResult BeginAuthenticateAsClient (AsyncCallback asyncCallback, object asyncState);

Parametri

asyncCallback
AsyncCallback

Delegato AsyncCallback che fa riferimento al metodo da richiamare al completamento dell'autenticazione.

asyncState
Object

Oggetto definito dall'utente contenente informazioni sull'operazione. Questo oggetto viene passato al delegato asyncCallback al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che indica lo stato dell'operazione asincrona.

Eccezioni

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'oggetto è stato chiuso.

L'autenticazione è già stata effettuata.

-oppure-

Questo flusso è stato precedentemente utilizzato per tentare l'autenticazione come server. Non è possibile utilizzare il flusso per tentare nuovamente l'autenticazione come client.

Esempio

Nell'esempio seguente viene illustrata la chiamata di questo metodo per avviare un'autenticazione asincrona per il client.

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

Commenti

L'autenticazione usa il client .DefaultCredentials Per il server non è specificato alcun nome dell'entità servizio (SPN). Il livello di rappresentazione è Identification, e il livello di sicurezza è EncryptAndSign. La NegotiateStream classe creerà il nome SPN usato per l'autenticazione reciproca.

Questo metodo è asincrono e non blocca mentre l'operazione viene completata. Per bloccare fino al completamento dell'operazione, usare uno degli overload del AuthenticateAsClient metodo.

L'operazione di autenticazione asincrona deve essere completata chiamando il EndAuthenticateAsClient metodo . In genere, il metodo viene richiamato dal asyncCallback delegato. Per informazioni dettagliate sull'uso del modello di programmazione asincrona, vedere Chiamata di metodi sincroni in modo asincrono

Se l'autenticazione ha esito negativo, viene visualizzato un AuthenticationException oggetto o .InvalidCredentialException In questo caso, è possibile riprovare l'autenticazione con credenziali diverse.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza le credenziali specificate. Questo metodo non si blocca.

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

Parametri

credential
NetworkCredential

Classe NetworkCredential che viene utilizzata per stabilire l'identità del client.

targetName
String

L'SPN (Service Principal Name, Nome principale servizio) che identifica in modo univoco il server da autenticare.

asyncCallback
AsyncCallback

Delegato AsyncCallback che fa riferimento al metodo da richiamare al completamento dell'autenticazione.

asyncState
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di scrittura. Questo oggetto viene passato al delegato asyncCallback al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che indica lo stato dell'operazione asincrona.

Eccezioni

credential è null.

-oppure-

targetName è null.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'oggetto è stato chiuso.

L'autenticazione è già stata effettuata.

-oppure-

Questo flusso è stato precedentemente utilizzato per tentare l'autenticazione come server. Non è possibile utilizzare il flusso per tentare nuovamente l'autenticazione come client.

Commenti

Questo metodo è asincrono e non blocca mentre l'operazione viene completata. Per bloccare fino al completamento dell'operazione, usare uno degli overload del AuthenticateAsClient metodo.

L'operazione di autenticazione asincrona deve essere completata chiamando il EndAuthenticateAsClient metodo . In genere, il metodo viene richiamato dal asyncCallback delegato. Per informazioni dettagliate sull'uso del modello di programmazione asincrona, vedere Chiamata di metodi sincroni in modo asincrono

Se l'autenticazione ha esito negativo, viene visualizzato un AuthenticationException oggetto o .InvalidCredentialException In questo caso, è possibile riprovare l'autenticazione con credenziali diverse.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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

Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza le credenziali e l'associazione di canale specificate. Questo metodo non si blocca.

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

Parametri

credential
NetworkCredential

Classe NetworkCredential che viene utilizzata per stabilire l'identità del client.

binding
ChannelBinding

Oggetto ChannelBinding che viene utilizzato per la protezione estesa.

targetName
String

L'SPN (Service Principal Name, Nome principale servizio) che identifica in modo univoco il server da autenticare.

asyncCallback
AsyncCallback

Delegato AsyncCallback che fa riferimento al metodo da richiamare al completamento dell'autenticazione.

asyncState
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di scrittura. Questo oggetto viene passato al delegato asyncCallback al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che indica lo stato dell'operazione asincrona.

Eccezioni

credential è null.

-oppure-

targetName è null.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'autenticazione è già stata effettuata.

-oppure-

Questo flusso è stato precedentemente utilizzato per tentare l'autenticazione come server. Non è possibile utilizzare il flusso per tentare nuovamente l'autenticazione come client.

L'oggetto è stato chiuso.

Commenti

Questo metodo è asincrono e non blocca al termine dell'operazione. Per bloccare fino al completamento dell'operazione, usare uno degli overload del AuthenticateAsClient metodo.

L'operazione di autenticazione asincrona deve essere completata chiamando il EndAuthenticateAsClient metodo . In genere, il metodo viene richiamato dal asyncCallback delegato. Per informazioni dettagliate sull'uso del modello di programmazione asincrona, vedere Chiamata asincrona di metodi sincroni

Se l'autenticazione non riesce, si riceve un oggetto AuthenticationException o .InvalidCredentialException In questo caso, è possibile ritentare l'autenticazione con credenziali diverse.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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

Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza le credenziali e le opzioni di autenticazione specificate. Questo metodo non si blocca.

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

Parametri

credential
NetworkCredential

Classe NetworkCredential che viene utilizzata per stabilire l'identità del client.

targetName
String

L'SPN (Service Principal Name, Nome principale servizio) che identifica in modo univoco il server da autenticare.

requiredProtectionLevel
ProtectionLevel

Uno dei valori della classe ProtectionLevel che indica i servizi di sicurezza per il flusso.

allowedImpersonationLevel
TokenImpersonationLevel

Uno dei valori della classe TokenImpersonationLevel, che indica il modo in cui il server può utilizzare le credenziali del client per accedere alle risorse.

asyncCallback
AsyncCallback

Delegato AsyncCallback che fa riferimento al metodo da richiamare al completamento dell'autenticazione.

asyncState
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di scrittura. Questo oggetto viene passato al delegato asyncCallback al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che indica lo stato dell'operazione asincrona.

Eccezioni

credential è null.

-oppure-

targetName è null.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'oggetto è stato chiuso.

L'autenticazione è già stata effettuata.

-oppure-

Questo flusso è stato precedentemente utilizzato per tentare l'autenticazione come server. Non è possibile utilizzare il flusso per tentare nuovamente l'autenticazione come client.

Commenti

Usare il requiredProtectionLevel parametro per richiedere i servizi di sicurezza per i dati trasmessi usando il flusso autenticato. Ad esempio, per fare in modo che i dati siano crittografati e firmati, specificare il EncryptAndSign valore . L'autenticazione riuscita non garantisce che all'utente richiesto ProtectionLevel sia stato concesso. È necessario controllare le IsEncrypted proprietà e IsSigned per determinare quali servizi di sicurezza vengono usati da NegotiateStream.

Questo metodo è asincrono e non blocca al termine dell'operazione. Per bloccare fino al completamento dell'operazione, usare uno degli overload del AuthenticateAsClient metodo.

L'operazione di autenticazione asincrona deve essere completata chiamando il EndAuthenticateAsClient metodo . In genere, il metodo viene richiamato dal asyncCallback delegato. Per informazioni dettagliate sull'uso del modello di programmazione asincrona, vedere Chiamata asincrona di metodi sincroni

Se l'autenticazione non riesce, si riceve un oggetto AuthenticationException o .InvalidCredentialException In questo caso, è possibile ritentare l'autenticazione con credenziali diverse.

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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

Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs
Origine:
NegotiateStream.cs

Viene chiamato dai client per avviare un'operazione asincrona di autenticazione del client e, facoltativamente, del server, in una connessione client-server. Il processo di autenticazione utilizza l'associazione di canale, le opzioni di autenticazione e le credenziali specificate. Questo metodo non si blocca.

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

Parametri

credential
NetworkCredential

Classe NetworkCredential che viene utilizzata per stabilire l'identità del client.

binding
ChannelBinding

Oggetto ChannelBinding che viene utilizzato per la protezione estesa.

targetName
String

L'SPN (Service Principal Name, Nome principale servizio) che identifica in modo univoco il server da autenticare.

requiredProtectionLevel
ProtectionLevel

Uno dei valori della classe ProtectionLevel che indica i servizi di sicurezza per il flusso.

allowedImpersonationLevel
TokenImpersonationLevel

Uno dei valori della classe TokenImpersonationLevel, che indica il modo in cui il server può utilizzare le credenziali del client per accedere alle risorse.

asyncCallback
AsyncCallback

Delegato AsyncCallback che fa riferimento al metodo da richiamare al completamento dell'autenticazione.

asyncState
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di scrittura. Questo oggetto viene passato al delegato asyncCallback al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che indica lo stato dell'operazione asincrona.

Eccezioni

credential è null.

-oppure-

targetName è null.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'autenticazione non è riuscita. È possibile utilizzare questo oggetto per tentare nuovamente l'autenticazione.

L'autenticazione è già stata effettuata.

-oppure-

Questo flusso è stato precedentemente utilizzato per tentare l'autenticazione come server. Non è possibile utilizzare il flusso per tentare nuovamente l'autenticazione come client.

L'oggetto è stato chiuso.

Commenti

Usare il requiredProtectionLevel parametro per richiedere i servizi di sicurezza per i dati trasmessi usando il flusso autenticato. Ad esempio, per fare in modo che i dati siano crittografati e firmati, specificare il EncryptAndSign valore . L'autenticazione riuscita non garantisce che all'utente richiesto ProtectionLevel sia stato concesso. È necessario controllare le IsEncrypted proprietà e IsSigned per determinare quali servizi di sicurezza vengono usati da NegotiateStream.

Questo metodo è asincrono e non blocca al termine dell'operazione. Per bloccare fino al completamento dell'operazione, usare uno degli overload del AuthenticateAsClient metodo.

L'operazione di autenticazione asincrona deve essere completata chiamando il EndAuthenticateAsClient metodo . In genere, il metodo viene richiamato dal asyncCallback delegato. Per informazioni dettagliate sull'uso del modello di programmazione asincrona, vedere Chiamata asincrona di metodi sincroni

Se l'autenticazione non riesce, si riceve un oggetto AuthenticationException o .InvalidCredentialException In questo caso, è possibile ritentare l'autenticazione con credenziali diverse.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1