다음을 통해 공유


IntranetZoneCredentialPolicy.ShouldSendCredential 메서드

정의

클라이언트의 자격 증명이 Boolean를 사용하여 이루어진 리소스 요청과 함께 전송되는지 여부를 나타내는 WebRequest을 반환합니다.

public:
 virtual bool ShouldSendCredential(Uri ^ challengeUri, System::Net::WebRequest ^ request, System::Net::NetworkCredential ^ credential, System::Net::IAuthenticationModule ^ authModule);
public virtual bool ShouldSendCredential (Uri challengeUri, System.Net.WebRequest request, System.Net.NetworkCredential credential, System.Net.IAuthenticationModule authModule);
abstract member ShouldSendCredential : Uri * System.Net.WebRequest * System.Net.NetworkCredential * System.Net.IAuthenticationModule -> bool
override this.ShouldSendCredential : Uri * System.Net.WebRequest * System.Net.NetworkCredential * System.Net.IAuthenticationModule -> bool
Public Overridable Function ShouldSendCredential (challengeUri As Uri, request As WebRequest, credential As NetworkCredential, authModule As IAuthenticationModule) As Boolean

매개 변수

challengeUri
Uri

요청을 받을 Uri입니다.

request
WebRequest

요청할 리소스를 나타내는 WebRequest입니다.

credential
NetworkCredential

이 메서드가 true를 반환하는 경우 요청과 함께 보낼 NetworkCredential입니다.

authModule
IAuthenticationModule

인증이 필요한 경우 인증을 수행할 IAuthenticationModule입니다.

반환

요청된 리소스가 요청을 하는 클라이언트와 같은 도메인에 있으면 true이고, 그렇지 않으면 false입니다.

구현

예제

다음 코드 예제에서 파생 하는 방법을 보여 줍니다 IntranetZoneCredentialPolicy 자격 증명을 기본 인증을 사용 하 여 보안 하이퍼텍스트 전송 프로토콜 (HTTPS)을 사용 하는 요청을 보낼 수 있도록 합니다. HTTPS 및 기본 인증을 사용 하 여, 사용자 암호를 네트워크를 통해 전송 되기 전에 암호화 됩니다.

// The following class allows credentials to be sent if they are for requests for resources
// in the same domain, or if the request uses the HTTPSscheme and basic authentication is 
// required.
public ref class HttpsBasicCredentialPolicy: public IntranetZoneCredentialPolicy
{
public:
   HttpsBasicCredentialPolicy(){}

   virtual bool ShouldSendCredential( Uri^ challengeUri, WebRequest^ request, NetworkCredential^ credential, IAuthenticationModule^ authModule ) override
   {
      Console::WriteLine( L"Checking custom credential policy for HTTPS and basic." );
      bool answer = IntranetZoneCredentialPolicy::ShouldSendCredential( challengeUri, request, credential, authModule );
      if ( answer == true )
      {
         Console::WriteLine( L"Sending credential for intranet resource." );
         return answer;
      }

      // Determine whether the base implementation returned false for basic and HTTPS.
      if ( request->RequestUri->Scheme == Uri::UriSchemeHttps && authModule->AuthenticationType->Equals( L"Basic" ) )
      {
         Console::WriteLine( L"Sending credential for HTTPS and basic." );
         return true;
      }

      return false;
   }
};
// The following class allows credentials to be sent if they are for requests for resources
// in the same domain, or if the request uses the HTTPSscheme and basic authentication is
// required.

       public class HttpsBasicCredentialPolicy: IntranetZoneCredentialPolicy
    {
        public HttpsBasicCredentialPolicy()
        {
        }

        public override bool ShouldSendCredential(Uri challengeUri,
            WebRequest request,
            NetworkCredential credential,
            IAuthenticationModule authModule)
        {
            Console.WriteLine("Checking custom credential policy for HTTPS and basic.");
            bool answer = base.ShouldSendCredential(challengeUri, request, credential, authModule);

            if (answer == true)
            {
                Console.WriteLine("Sending credential for intranet resource.");
                return answer;
            }
            // Determine whether the base implementation returned false for basic and HTTPS.
            if (request.RequestUri.Scheme == Uri.UriSchemeHttps &&
                authModule.AuthenticationType == "Basic")
            {
                Console.WriteLine("Sending credential for HTTPS and basic.");
                return true;
            }
            return false;
        }
    }

설명

애플리케이션이이 메서드를 직접 호출 하지 마십시오 에 의해 호출 되는 IAuthenticationModule 는 서버를 사용 하 여 인증을 수행 합니다. 이 메서드가 반환 하는 경우 false, IAuthenticationModule 서버에 클라이언트를 인증 하지 것입니다.

자격 증명을 지정 하거나 사용 하는 요청에 대해서만이 메서드는 WebProxy 자격 증명을 지정 하는 개체입니다.

적용 대상