NegotiateStream.BeginAuthenticateAsClient Metodo
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Avvia un'operazione asincrona per autenticare il lato client di una connessione client-server.
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. |
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 .
- 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, 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
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( 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)
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 |
- 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, 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
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
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 |
- 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, 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
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
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, 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
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
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, 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
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
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 |
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: