AuthenticationLevel AuthenticationLevel AuthenticationLevel AuthenticationLevel Enum

定義

WebRequest クラスおよびその派生クラスを使用してリソースを要求する場合の、認証と偽装に関するクライアント要件を指定します。Specifies client requirements for authentication and impersonation when using the WebRequest class and derived classes to request a resource.

public enum class AuthenticationLevel
public enum AuthenticationLevel
type AuthenticationLevel = 
Public Enum AuthenticationLevel
継承
AuthenticationLevelAuthenticationLevelAuthenticationLevelAuthenticationLevel

フィールド

MutualAuthRequested MutualAuthRequested MutualAuthRequested MutualAuthRequested 1

クライアントとサーバーを認証する必要があります。The client and server should be authenticated. サーバーが認証されていない場合でも、要求は失敗しません。The request does not fail if the server is not authenticated. 相互認証が行われたかどうかを判別するには、IsMutuallyAuthenticated プロパティの値を確認します。To determine whether mutual authentication occurred, check the value of the IsMutuallyAuthenticated property.

MutualAuthRequired MutualAuthRequired MutualAuthRequired MutualAuthRequired 2

クライアントとサーバーを認証する必要があります。The client and server should be authenticated. サーバーが認証されていない場合、相互認証が失敗したことを示す ProtocolViolationException 内部例外と共に、IOException がアプリケーションで発生します。If the server is not authenticated, your application will receive an IOException with a ProtocolViolationException inner exception that indicates that mutual authentication failed

None None None None 0

クライアントとサーバーの認証は必要ありません。No authentication is required for the client and server.

次のコード例は、要求の認証フラグを設定する方法を示しています。The following code example demonstrates setting the authentication flags for a request.

// The following example uses the System, System.Net, 
// and System.IO namespaces.
static void RequestMutualAuth( Uri^ resource )
{
   // Create a new HttpWebRequest object for the specified resource.
   WebRequest^ request = dynamic_cast<WebRequest^>(WebRequest::Create( resource ));

   // Request mutual authentication.
   request->AuthenticationLevel = AuthenticationLevel::MutualAuthRequested;

   // Supply client credentials.
   request->Credentials = CredentialCache::DefaultCredentials;
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());

   // Determine whether mutual authentication was used.
   Console::WriteLine( L"Is mutually authenticated? {0}", response->IsMutuallyAuthenticated );

   // Read and display the response.
   Stream^ streamResponse = response->GetResponseStream();
   StreamReader^ streamRead = gcnew StreamReader( streamResponse );
   String^ responseString = streamRead->ReadToEnd();
   Console::WriteLine( responseString );

   // Close the stream objects.
   streamResponse->Close();
   streamRead->Close();

   // Release the HttpWebResponse.
   response->Close();
}

// The following example uses the System, System.Net, 
// and System.IO namespaces.

public static void RequestMutualAuth(Uri resource)
{
    // Create a new HttpWebRequest object for the specified resource.
    WebRequest request=(WebRequest) WebRequest.Create(resource);
    // Request mutual authentication.
   request.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested;
    // Supply client credentials.
    request.Credentials = CredentialCache.DefaultCredentials;
    HttpWebResponse response = (HttpWebResponse) request.GetResponse();
    // Determine whether mutual authentication was used.
    Console.WriteLine("Is mutually authenticated? {0}", response.IsMutuallyAuthenticated);
    // Read and display the response.
    Stream streamResponse = response.GetResponseStream();
    StreamReader streamRead = new StreamReader(streamResponse);
    string responseString = streamRead.ReadToEnd();
   Console.WriteLine(responseString);
    // Close the stream objects.
    streamResponse.Close();
    streamRead.Close();
    // Release the HttpWebResponse.
    response.Close();
}

注釈

この列挙体の値は、 AuthenticationLevelプロパティを設定するために使用されます。The values of this enumeration are used to set the AuthenticationLevel property.

注意

MutualAuthRequired と Mutualauthrequired の値は、Kerberos 認証に関連しています。The MutualAuthRequired and MutualAuthRequested values are relevant for Kerberos authentication. Kerberos 認証は、直接サポートすることも、Negotiate セキュリティ プロトコルを使用して実際のセキュリティ プロトコルを選択する場合に使用することもできます。Kerberos authentication can be supported directly, or can be used if the Negotiate security protocol is used to select the actual security protocol. 認証プロトコルの詳細については、「インターネット認証」を参照してください。For more information about authentication protocols, see Internet Authentication.

適用対象