<?xml version="1.0" encoding="utf-8"?>
<Type Name="IAuthenticationModule" FullName="System.Net.IAuthenticationModule" FullNameSP="System_Net_IAuthenticationModule" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class interface public abstract IAuthenticationModule" />
  <TypeSignature Language="C#" Value="public interface IAuthenticationModule" />
  <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IAuthenticationModule" />
  <MemberOfLibrary>Networking</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>1.0.x.x</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.Net.IAuthenticationModule" /> interface defines the properties and methods that custom authentication modules must use.</para>
      <para>Authentication modules conduct the entire authentication process with a server, responding to an authentication challenge as appropriate. This process may consist of requests to an authentication server separate from the resource server, as well as any other activities required to properly authenticate a request for a URI.</para>
      <para>Custom authentication modules should implement the <see cref="T:System.Net.IAuthenticationModule" /> interface and then register with the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)" /> method. Authentication modules are also registered at program initialization by reading the configuration file.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Provides the base authentication interface for Web client authentication modules.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="Authenticate">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Net.Authorization Authenticate(string challenge, class System.Net.WebRequest request, class System.Net.ICredentials credentials)" />
      <MemberSignature Language="C#" Value="public System.Net.Authorization Authenticate (string challenge, System.Net.WebRequest request, System.Net.ICredentials credentials);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Net.Authorization Authenticate(string challenge, class System.Net.WebRequest request, class System.Net.ICredentials credentials) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Authorization</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="challenge" Type="System.String" />
        <Parameter Name="request" Type="System.Net.WebRequest" />
        <Parameter Name="credentials" Type="System.Net.ICredentials" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.IAuthenticationModule.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)" /> method conducts the authentication process with the server and returns an <see cref="T:System.Net.Authorization" /> instance to the <see cref="T:System.Net.AuthenticationManager" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns an instance of the <see cref="T:System.Net.Authorization" /> class in respose to an authentication challenge from a server.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Net.Authorization" /> instance containing the authorization message for the request, or null if the challenge cannot be handled.</para>
        </returns>
        <param name="challenge">
          <attribution license="cc4" from="Microsoft" modified="false" />The authentication challenge sent by the server. </param>
        <param name="request">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Net.WebRequest" /> instance associated with the challenge. </param>
        <param name="credentials">
          <attribution license="cc4" from="Microsoft" modified="false" />The credentials associated with the challenge. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="AuthenticationType">
      <MemberSignature Language="ILASM" Value=".property string AuthenticationType { public hidebysig virtual abstract specialname string get_AuthenticationType() }" />
      <MemberSignature Language="C#" Value="public string AuthenticationType { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance string AuthenticationType" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.String" /> indicating the
   authentication type of the current authentication module.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.IAuthenticationModule.AuthenticationType" /> property identifies the authentication type implemented by this authentication module. The <see cref="P:System.Net.IAuthenticationModule.AuthenticationType" /> property is used by the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)" /> method to determine if the authentication module has been registered, and by the <see cref="M:System.Net.AuthenticationManager.Unregister(System.Net.IAuthenticationModule)" /> method to remove a registered authentication module.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the authentication type provided by this authentication module.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="CanPreAuthenticate">
      <MemberSignature Language="ILASM" Value=".property bool CanPreAuthenticate { public hidebysig virtual abstract specialname bool get_CanPreAuthenticate() }" />
      <MemberSignature Language="C#" Value="public bool CanPreAuthenticate { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool CanPreAuthenticate" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>
            <see langword="true " />if the authentication module supports
   preauthentication; otherwise <see langword="false" />.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.Net.IAuthenticationModule.CanPreAuthenticate" /> property is set to true to indicate that the authentication module can respond with a valid <see cref="T:System.Net.Authorization" /> instance when the <see cref="M:System.Net.IAuthenticationModule.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)" /> method is called.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a value indicating whether the authentication module supports preauthentication.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="PreAuthenticate">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Net.Authorization PreAuthenticate(class System.Net.WebRequest request, class System.Net.ICredentials credentials)" />
      <MemberSignature Language="C#" Value="public System.Net.Authorization PreAuthenticate (System.Net.WebRequest request, System.Net.ICredentials credentials);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Net.Authorization PreAuthenticate(class System.Net.WebRequest request, class System.Net.ICredentials credentials) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Authorization</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="request" Type="System.Net.WebRequest" />
        <Parameter Name="credentials" Type="System.Net.ICredentials" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When the <see cref="P:System.Net.IAuthenticationModule.CanPreAuthenticate" /> property is true, the <see cref="M:System.Net.IAuthenticationModule.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)" /> method will return an instance of the <see cref="T:System.Net.Authorization" /> class containing an authentication message.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns an instance of the <see cref="T:System.Net.Authorization" /> class for an authentication request to a server.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.Net.Authorization" /> instance containing the authorization message for the request.</para>
        </returns>
        <param name="request">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Net.WebRequest" /> instance associated with the authentication request. </param>
        <param name="credentials">
          <attribution license="cc4" from="Microsoft" modified="false" />The credentials associated with the authentication request. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>