ICredentialPolicy 인터페이스

정의

WebRequest와 이 클래스의 파생 클래스를 통한 리소스 요청에 사용할 자격 증명 정책을 정의합니다.

public interface class ICredentialPolicy
public interface ICredentialPolicy
type ICredentialPolicy = interface
Public Interface ICredentialPolicy
파생

예제

다음 코드 예제에서는 특정 호스트를 대상으로 하는 요청에 대해서만 자격 증명을 보낼 수 있도록 하는 이 인터페이스의 구현을 보여 줍니다.

public ref class SelectedHostsCredentialPolicy: public ICredentialPolicy
{
public:
   SelectedHostsCredentialPolicy(){}

   virtual bool ShouldSendCredential( Uri^ challengeUri, WebRequest^ request, NetworkCredential^ /*credential*/, IAuthenticationModule^ /*authModule*/ )
   {
      Console::WriteLine( L"Checking custom credential policy." );
      if ( request->RequestUri->Host->Equals( L"www.contoso.com" ) || challengeUri->IsLoopback == true )
            return true;

      return false;
   }
};
public class SelectedHostsCredentialPolicy: ICredentialPolicy
{
    public SelectedHostsCredentialPolicy()
    {
    }

    public virtual bool ShouldSendCredential(Uri challengeUri,
        WebRequest request,
        NetworkCredential credential,
        IAuthenticationModule authModule)
    {
        Console.WriteLine("Checking custom credential policy.");
        if (request.RequestUri.Host == "www.contoso.com" ||
            challengeUri.IsLoopback == true)
            return true;

        return false;
    }
}

설명

자격 증명 정책은 웹 페이지의 콘텐츠와 같은 네트워크 리소스에 대한 자격 증명을 보낼 때 자격 증명을 보낼 WebRequest 지 여부를 결정합니다. 자격 증명이 전송되는 경우 클라이언트 인증이 필요한 서버는 클라이언트의 자격 증명이 필요하다는 응답을 보내는 대신 요청을 수신할 때 클라이언트를 인증하려고 시도할 수 있습니다. 이렇게 하면 서버로의 왕복이 절약되지만, 이러한 성능 향상은 네트워크를 통해 자격 증명을 보내는 데 내재된 보안 위험과 균형을 유지해야 합니다. 대상 서버에 클라이언트 인증이 필요하지 않은 경우 자격 증명을 보내지 않는 것이 가장 좋습니다.

참고

ICredentialPolicy 경우에 정책을 호출 되는 WebRequest 또는 WebProxy 연결 된 요청 되지 않는 자격 증명에 null입니다. 이 정책 설정에 자격 증명을 지정 하지 않으면 하는 요청에 대 한 영향을 주지 않습니다.

속성을 AuthenticationManager.CredentialPolicy 사용하여 정책을 설정합니다 ICredentialPolicy . 합니다 IAuthenticationModule 요청에 대 한 인증을 처리 하는 호출을 ShouldSendCredential 인증을 수행 하기 전에 메서드. 메서드가 반환 false되면 인증이 수행되지 않습니다.

ICredentialPolicy 정책에는의 모든 인스턴스에 영향을 줍니다. WebRequest 현재 애플리케이션 도메인에서 null이 아닌 자격 증명을 사용 합니다. 개별 요청에 대해 정책을 재정의할 수 없습니다.

메서드

ShouldSendCredential(Uri, WebRequest, NetworkCredential, IAuthenticationModule)

Boolean 클래스의 인스턴스를 사용하여 리소스를 요청할 때 클라이언트의 자격 증명을 함께 보내는지 여부를 나타내는 WebRequest을 반환합니다.

적용 대상