<?xml version="1.0" encoding="utf-8"?>
<Type Name="WindowsClientCredential" FullName="System.ServiceModel.Security.WindowsClientCredential">
  <TypeSignature Language="C#" Value="public sealed class WindowsClientCredential" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit WindowsClientCredential extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>System.ServiceModel</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.ServiceModel.Security.WindowsClientCredential" /> enables the setting of Windows client properties used when communicating with a service. The <see cref="P:System.ServiceModel.Security.WindowsClientCredential.AllowedImpersonationLevel" /> sets the level of impersonation the service can assume when impersonating the client. The <see cref="P:System.ServiceModel.Security.WindowsClientCredential.ClientCredential" /> enables a client to authenticate with username and password to the service. The <see cref="P:System.ServiceModel.Security.WindowsClientCredential.AllowNtlm" /> determines whether NTLM can be used to authenticate the client if Kerberos is not used.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Allows you to specify properties related to Windows credentials to be used to represent the client.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="AllowedImpersonationLevel">
      <MemberSignature Language="C#" Value="public System.Security.Principal.TokenImpersonationLevel AllowedImpersonationLevel { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.Security.Principal.TokenImpersonationLevel AllowedImpersonationLevel" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Security.Principal.TokenImpersonationLevel</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This property specifies the impersonation level granted by the client to the server when using Windows SSPI Negotiate authentication. Note that the impersonation level obtained by the server when it impersonates the client token is not solely a function of this setting. It is also a function of the associated privileges and domain settings for the account in which the service is running. </para>
          <para>The client must explicitly set the allowed impersonation level using this property.</para>
          <para>When the client specifies anonymous impersonation the client always authenticates to the service as anonymous even when no impersonation is performed on the service. This is due to underlying Windows operating system behavior. </para>
          <para>crabout Windows impersonation, go to <see cref="http://go.microsoft.com/fwlink/?LinkId=96178">Impersonating and Reverting</see>. crabout impersonation using indigo1, see <format type="text/html"><a href="110e60f7-5b03-4b69-b667-31721b8e3152">Delegation and Impersonation with WCF</a></format>.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the allowed impersonation level. </para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="AllowNtlm">
      <MemberSignature Language="C#" Value="public bool AllowNtlm { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool AllowNtlm" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Setting this property to true allows authentication to downgrade to NTLM if Kerberos is not available.</para>
          <para>Setting this property to false causes indigo1 to make a best-effort to throw an exception if NTLM is used. Note that setting this property to false may not prevent NTLM credentials from being sent over the wire.</para>
          <para>Certain deployments such as workgroups and local accounts require NTLM authentication. Setting this flag to false in such deployments result in authentication failures when using indigo2. In a deployment that requires mutual authentication (only supported by Kerberos), set this flag to false.</para>
          <para>NTLM (Windows NT LAN Manager) is the authentication protocol used on networks that include systems running the Windows NT operating system, and on stand-alone systems. </para>
          <para>The Microsoft Kerberos security package adds greater security than NTLM to systems on a network. Although Microsoft Kerberos is the protocol of choice, NTLM is still supported and must be used for network authentication if the network includes systems running versions of Windows NT 4.0 and earlier, and on stand-alone systems.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether NTLM authentication should be allowed as Windows SSPI Negotiate authentication. </para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="ClientCredential">
      <MemberSignature Language="C#" Value="public System.Net.NetworkCredential ClientCredential { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Net.NetworkCredential ClientCredential" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.NetworkCredential</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>By default, the current thread's credentials are used by indigo2 for doing Windows SSPI Negotiate authentication. </para>
          <para>To authenticate the client as another principal, change the properties of the instance of the <see cref="T:System.Net.NetworkCredential" /> class that is returned by this property. Alternatively, create a new instance of the <see cref="T:System.Net.NetworkCredential" /> class and assign it to this property.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the Windows client credential.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>