NegotiateStream.BeginAuthenticateAsClient メソッド

定義

クライアントとサーバー間の接続のクライアント側を認証する非同期操作を開始します。Begins an asynchronous operation to authenticate the client side of a client-server connection.

オーバーロード

BeginAuthenticateAsClient(AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. このメソッドはブロックしません。This method does not block.

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報を使用します。The authentication process uses the specified credentials. このメソッドはブロックしません。This method does not block.

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

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報およびチャネル バインディングが使用されます。The authentication process uses the specified credentials and channel binding. このメソッドはブロックしません。This method does not block.

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

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報と認証オプションを使用します。The authentication process uses the specified credentials and authentication options. このメソッドはブロックしません。This method does not block.

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

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報、認証オプション、およびチャネル バインディングが使用されます。The authentication process uses the specified credentials, authentication options, and channel binding. このメソッドはブロックしません。This method does not block.

注釈

認証の実行中は、このメソッドのオーバーロードはブロックされません。The overloads of this method do not block while authentication is in progress. 認証の完了を待機している間にブロックするには、いずれかのメソッドを使用し AuthenticateAsClient ます。To block while waiting for the authentication to complete, use one of the AuthenticateAsClient methods.

BeginAuthenticateAsClient(AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. このメソッドはブロックしません。This method does not block.

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

パラメーター

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

IAsyncResult

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

このオブジェクトは閉じられました。This object has been closed.

認証が既に発生しました。Authentication has already occurred.

- または --or-

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。This stream was used previously to attempt authentication as the server. ストリームを使用して、クライアントとして認証を再試行することはできません。You cannot use the stream to retry authentication as the client.

次の例は、このメソッドを呼び出して、クライアントの非同期認証を開始する方法を示しています。The following example demonstrates calling this method to begin an asynchronous authentication for the 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)

注釈

認証では、クライアントのを使用し DefaultCredentials ます。The authentication uses the client's DefaultCredentials. サーバーに対してサービスプリンシパル名 (SPN) が指定されていません。No Service Principal Name (SPN) is specified for the server. 偽装レベルは Identification で、セキュリティレベルは EncryptAndSign です。The impersonation level is Identification, and the security level is EncryptAndSign. NegotiateStreamクラスは、相互認証に使用される SPN を構築します。The NegotiateStream class will construct the SPN used for mutual authentication.

このメソッドは非同期であり、操作の完了時にブロックされません。This method is asynchronous and does not block while the operation completes. 操作が完了するまでブロックするには、メソッドオーバーロードのいずれかを使用し AuthenticateAsClient ます。To block until the operation completes, use one of the AuthenticateAsClient method overloads.

非同期認証操作は、メソッドを呼び出すことによって完了する必要があり EndAuthenticateAsClient ます。The asynchronous authentication operation must be completed by calling the EndAuthenticateAsClient method. 通常、メソッドはデリゲートによって呼び出され asyncCallback ます。Typically, the method is invoked by the asyncCallback delegate. 非同期プログラミングモデルの使用方法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

認証に失敗した場合は、 AuthenticationException またはが表示さ InvalidCredentialException れます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

適用対象

BeginAuthenticateAsClient(NetworkCredential, String, AsyncCallback, Object)

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報を使用します。The authentication process uses the specified credentials. このメソッドはブロックしません。This method does not block.

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

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredentialThe NetworkCredential that is used to establish the identity of the client.

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。The Service Principal Name (SPN) that uniquely identifies the server to authenticate.

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the write operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

IAsyncResult

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

credentialnullです。credential is null.

または-or- targetNamenullです。targetName is null.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

このオブジェクトは閉じられました。This object has been closed.

認証が既に発生しました。Authentication has already occurred.

- または --or-

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。This stream was used previously to attempt authentication as the server. ストリームを使用して、クライアントとして認証を再試行することはできません。You cannot use the stream to retry authentication as the client.

注釈

このメソッドは非同期であり、操作の完了時にブロックされません。This method is asynchronous and does not block while the operation completes. 操作が完了するまでブロックするには、メソッドオーバーロードのいずれかを使用し AuthenticateAsClient ます。To block until the operation completes, use one of the AuthenticateAsClient method overloads.

非同期認証操作は、メソッドを呼び出すことによって完了する必要があり EndAuthenticateAsClient ます。The asynchronous authentication operation must be completed by calling the EndAuthenticateAsClient method. 通常、メソッドはデリゲートによって呼び出され asyncCallback ます。Typically, the method is invoked by the asyncCallback delegate. 非同期プログラミングモデルの使用方法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

認証に失敗した場合は、 AuthenticationException またはが表示さ InvalidCredentialException れます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

適用対象

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

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報およびチャネル バインディングが使用されます。The authentication process uses the specified credentials and channel binding. このメソッドはブロックしません。This method does not block.

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

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredentialThe NetworkCredential that is used to establish the identity of the client.

binding
ChannelBinding

拡張保護に使用する ChannelBindingThe ChannelBinding that is used for extended protection.

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。The Service Principal Name (SPN) that uniquely identifies the server to authenticate.

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the write operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

IAsyncResult

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

credentialnullです。credential is null.

または-or- targetNamenullです。targetName is null.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証が既に発生しました。Authentication has already occurred.

- または --or-

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。This stream was used previously to attempt authentication as the server. ストリームを使用して、クライアントとして認証を再試行することはできません。You cannot use the stream to retry authentication as the client.

このオブジェクトは閉じられました。This object has been closed.

注釈

このメソッドは非同期であり、操作の完了時にブロックされません。This method is asynchronous and does not block while the operation completes. 操作が完了するまでブロックするには、メソッドオーバーロードのいずれかを使用し AuthenticateAsClient ます。To block until the operation completes, use one of the AuthenticateAsClient method overloads.

非同期認証操作は、メソッドを呼び出すことによって完了する必要があり EndAuthenticateAsClient ます。The asynchronous authentication operation must be completed by calling the EndAuthenticateAsClient method. 通常、メソッドはデリゲートによって呼び出され asyncCallback ます。Typically, the method is invoked by the asyncCallback delegate. 非同期プログラミングモデルの使用方法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

認証に失敗した場合は、 AuthenticationException またはが表示さ InvalidCredentialException れます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

こちらもご覧ください

適用対象

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

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報と認証オプションを使用します。The authentication process uses the specified credentials and authentication options. このメソッドはブロックしません。This method does not block.

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

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredentialThe NetworkCredential that is used to establish the identity of the client.

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。The Service Principal Name (SPN) that uniquely identifies the server to authenticate.

requiredProtectionLevel
ProtectionLevel

ストリームのセキュリティ サービスを示す ProtectionLevel 値の 1 つ。One of the ProtectionLevel values, indicating the security services for the stream.

allowedImpersonationLevel
TokenImpersonationLevel

サーバーがクライアントの資格情報を使用してリソースにアクセスする方法を示す TokenImpersonationLevel 値の 1 つ。One of the TokenImpersonationLevel values, indicating how the server can use the client's credentials to access resources.

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the write operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

IAsyncResult

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

credentialnullです。credential is null.

または-or- targetNamenullです。targetName is null.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

このオブジェクトは閉じられました。This object has been closed.

認証が既に発生しました。Authentication has already occurred.

- または --or-

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。This stream was used previously to attempt authentication as the server. ストリームを使用して、クライアントとして認証を再試行することはできません。You cannot use the stream to retry authentication as the client.

注釈

requiredProtectionLevelパラメーターを使用して、認証されたストリームを使用して送信されるデータのセキュリティサービスを要求します。Use the requiredProtectionLevel parameter to request security services for data transmitted using the authenticated stream. たとえば、データを暗号化して署名するには、値を指定し EncryptAndSign ます。For example, to have the data encrypted and signed, specify the EncryptAndSign value. 認証が成功しても、要求されたが ProtectionLevel 許可されているかは保証されません。Successful authentication does not guarantee that the requested ProtectionLevel has been granted. IsEncrypted IsSigned よって使用されるセキュリティサービスを確認するには、プロパティとプロパティを確認する必要があり NegotiateStream ます。You must check the IsEncrypted and IsSigned properties to determine what security services are used by the NegotiateStream.

このメソッドは非同期であり、操作の完了時にブロックされません。This method is asynchronous and does not block while the operation completes. 操作が完了するまでブロックするには、メソッドオーバーロードのいずれかを使用し AuthenticateAsClient ます。To block until the operation completes, use one of the AuthenticateAsClient method overloads.

非同期認証操作は、メソッドを呼び出すことによって完了する必要があり EndAuthenticateAsClient ます。The asynchronous authentication operation must be completed by calling the EndAuthenticateAsClient method. 通常、メソッドはデリゲートによって呼び出され asyncCallback ます。Typically, the method is invoked by the asyncCallback delegate. 非同期プログラミングモデルの使用方法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

認証に失敗した場合は、 AuthenticationException またはが表示さ InvalidCredentialException れます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

適用対象

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

クライアントによって呼び出され、クライアントとサーバー間の接続でクライアントと (オプションで) サーバーを認証する非同期操作を開始します。Called by clients to begin an asynchronous operation to authenticate the client, and optionally the server, in a client-server connection. 認証プロセスでは、指定した資格情報、認証オプション、およびチャネル バインディングが使用されます。The authentication process uses the specified credentials, authentication options, and channel binding. このメソッドはブロックしません。This method does not block.

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

パラメーター

credential
NetworkCredential

クライアントの ID を確立するために使用される NetworkCredentialThe NetworkCredential that is used to establish the identity of the client.

binding
ChannelBinding

拡張保護に使用する ChannelBindingThe ChannelBinding that is used for extended protection.

targetName
String

認証するサーバーを一意に識別するサービス プリンシパル名 (SPN)。The Service Principal Name (SPN) that uniquely identifies the server to authenticate.

requiredProtectionLevel
ProtectionLevel

ストリームのセキュリティ サービスを示す ProtectionLevel 値の 1 つ。One of the ProtectionLevel values, indicating the security services for the stream.

allowedImpersonationLevel
TokenImpersonationLevel

サーバーがクライアントの資格情報を使用してリソースにアクセスする方法を示す TokenImpersonationLevel 値の 1 つ。One of the TokenImpersonationLevel values, indicating how the server can use the client's credentials to access resources.

asyncCallback
AsyncCallback

認証完了時に呼び出すメソッドを参照する AsyncCallback デリゲート。An AsyncCallback delegate that references the method to invoke when the authentication is complete.

asyncState
Object

書き込み操作に関する情報を格納するユーザー定義のオブジェクト。A user-defined object containing information about the write operation. このオブジェクトは、操作の完了時に asyncCallback デリゲートに渡されます。This object is passed to the asyncCallback delegate when the operation completes.

戻り値

IAsyncResult

非同期操作の状態を示す IAsyncResult オブジェクト。An IAsyncResult object indicating the status of the asynchronous operation.

例外

credentialnullです。credential is null.

または-or- targetNamenullです。targetName is null.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証に失敗しました。The authentication failed. このオブジェクトを使用して、認証を再試行できます。You can use this object to retry the authentication.

認証が既に発生しました。Authentication has already occurred.

- または --or-

このストリームは、かつて、サーバーとして認証を行う目的で使用されていました。This stream was used previously to attempt authentication as the server. ストリームを使用して、クライアントとして認証を再試行することはできません。You cannot use the stream to retry authentication as the client.

このオブジェクトは閉じられました。This object has been closed.

注釈

requiredProtectionLevelパラメーターを使用して、認証されたストリームを使用して送信されるデータのセキュリティサービスを要求します。Use the requiredProtectionLevel parameter to request security services for data transmitted using the authenticated stream. たとえば、データを暗号化して署名するには、値を指定し EncryptAndSign ます。For example, to have the data encrypted and signed, specify the EncryptAndSign value. 認証が成功しても、要求されたが ProtectionLevel 許可されているかは保証されません。Successful authentication does not guarantee that the requested ProtectionLevel has been granted. IsEncrypted IsSigned よって使用されるセキュリティサービスを確認するには、プロパティとプロパティを確認する必要があり NegotiateStream ます。You must check the IsEncrypted and IsSigned properties to determine what security services are used by the NegotiateStream.

このメソッドは非同期であり、操作の完了時にブロックされません。This method is asynchronous and does not block while the operation completes. 操作が完了するまでブロックするには、メソッドオーバーロードのいずれかを使用し AuthenticateAsClient ます。To block until the operation completes, use one of the AuthenticateAsClient method overloads.

非同期認証操作は、メソッドを呼び出すことによって完了する必要があり EndAuthenticateAsClient ます。The asynchronous authentication operation must be completed by calling the EndAuthenticateAsClient method. 通常、メソッドはデリゲートによって呼び出され asyncCallback ます。Typically, the method is invoked by the asyncCallback delegate. 非同期プログラミングモデルの使用方法の詳細については、「同期メソッドの非同期呼び出し」を参照してください。For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously

認証に失敗した場合は、 AuthenticationException またはが表示さ InvalidCredentialException れます。If the authentication fails, you receive an AuthenticationException or an InvalidCredentialException. この場合は、別の資格情報で認証を再試行できます。In this case, you can retry the authentication with a different credential.

こちらもご覧ください

適用対象