NegotiateStream.BeginAuthenticateAsClient メソッド

定義

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

オーバーロード

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.

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.

注釈

認証の実行中は、このメソッドのオーバーロードはブロックされません。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(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);
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

パラメーター

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 オブジェクト。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. NegotiateStreamによって使用されているセキュリティサービスを確認するには、IsEncryptedIsSigned のプロパティを確認する必要があります。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(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);
abstract member BeginAuthenticateAsClient : AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : AsyncCallback * obj -> 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 オブジェクト。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.
IAsyncResult ar = authStream.BeginAuthenticateAsClient(
    new AsyncCallback(EndAuthenticateCallback),
    authStream
    );
' 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.

セキュリティ

SecurityPermission
明示的な NetworkCredentialを使用する場合は。to use the explicit NetworkCredential. ControlPrincipal (関連する列挙体)Associated enumeration: ControlPrincipal.

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);
abstract member BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> IAsyncResult
override this.BeginAuthenticateAsClient : System.Net.NetworkCredential * string * AsyncCallback * obj -> 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 オブジェクト。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.

セキュリティ

SecurityPermission
明示的な NetworkCredentialを使用する場合は。to use the explicit NetworkCredential. ControlPrincipal (関連する列挙体)Associated enumeration: ControlPrincipal.

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

パラメーター

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 オブジェクト。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);
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

パラメーター

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 オブジェクト。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. NegotiateStreamによって使用されているセキュリティサービスを確認するには、IsEncryptedIsSigned のプロパティを確認する必要があります。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.

セキュリティ

SecurityPermission
明示的な NetworkCredentialを使用する場合は。to use the explicit NetworkCredential. ControlPrincipal (関連する列挙体)Associated enumeration: ControlPrincipal.

適用対象