다음을 통해 공유


AuthenticationLevel 열거형

정의

WebRequest 클래스와 이 클래스에서 파생된 클래스를 사용하여 리소스를 요청할 때 인증 및 가장에 대한 클라이언트 요구 사항을 지정합니다.

public enum class AuthenticationLevel
public enum AuthenticationLevel
type AuthenticationLevel = 
Public Enum AuthenticationLevel
상속
AuthenticationLevel

필드

MutualAuthRequested 1

클라이언트와 서버를 인증해야 합니다. 서버가 인증되지 않아도 요청이 실패하지는 않습니다. 상호 인증이 발생했는지 여부를 확인하려면 IsMutuallyAuthenticated 속성 값을 확인합니다.

MutualAuthRequired 2

클라이언트와 서버를 인증해야 합니다. 서버가 인증되지 않은 경우 애플리케이션에서는 상호 인증이 실패했음을 나타내는 IOException 내부 예외와 함께 ProtocolViolationException을 받습니다.

None 0

클라이언트와 서버에 대한 인증이 필요 없습니다.

예제

다음 코드 예제에서는 요청에 대 한 인증 플래그를 설정 하는 방법을 보여 줍니다.

// 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 데 사용됩니다.

참고

MutualAuthRequired 및 MutualAuthRequested 값은 Kerberos 인증과 관련이 있습니다. Kerberos 인증은 직접 지원될 수도 있고, 보안 협상 프로토콜을 사용하여 실제 보안 프로토콜을 선택하는 경우에 사용할 수도 있습니다. 인증 프로토콜에 대 한 자세한 내용은 참조 하세요. 인터넷 인증합니다.

적용 대상