<?xml version="1.0" encoding="utf-8"?>
<Type Name="UserNamePasswordServiceCredential" FullName="System.ServiceModel.Security.UserNamePasswordServiceCredential">
  <TypeSignature Language="C#" Value="public sealed class UserNamePasswordServiceCredential" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit UserNamePasswordServiceCredential 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>If none of the bindings used by a service is configured for user name/password-based authentication, the relevant properties for this class are ignored. These properties include the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CustomUserNamePasswordValidator" />, <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.IncludeWindowsGroups" />, <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" />, and <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.UserNamePasswordValidationMode" /> properties.</para>
      <para>If none of the bindings used by a service is configured to use Windows authentication for user name/password, the settings related to caching of logon tokens are ignored. These settings include the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CachedLogonTokenLifetime" />, <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CacheLogonTokens" />, and <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MaxCachedLogonTokens" /> properties.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Represents a class that is used to configure how the service authenticates users that use user name/password authentication and to configure the caching of logon tokens.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="CachedLogonTokenLifetime">
      <MemberSignature Language="C#" Value="public TimeSpan CachedLogonTokenLifetime { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.TimeSpan CachedLogonTokenLifetime" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.TimeSpan</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>crdefault <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CacheLogonTokens" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the maximum length of time that a token is cached.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="CacheLogonTokens">
      <MemberSignature Language="C#" Value="public bool CacheLogonTokens { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool CacheLogonTokens" />
      <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>By default, indigo2 security asks the Windows security subsystem to create a logon token for every incoming user name/password security token if the user name is being mapped to a Windows account. This behavior can be changed by setting the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.UserNamePasswordValidationMode" /> property.</para>
          <para>For <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.Windows" /> mode, the service uses Win32's LogonUser function for user name/password authentication. If the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CacheLogonTokens" /> is set to true, the resulting Windows token is cached and reused for the same user name/password pair. The cache is valid for <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CachedLogonTokenLifetime" />. The maximum number of caches is limited to <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MaxCachedLogonTokens" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether logon tokens are cached.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="CustomUserNamePasswordValidator">
      <MemberSignature Language="C#" Value="public System.IdentityModel.Selectors.UserNamePasswordValidator CustomUserNamePasswordValidator { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.IdentityModel.Selectors.UserNamePasswordValidator CustomUserNamePasswordValidator" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IdentityModel.Selectors.UserNamePasswordValidator</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.UserNamePasswordValidationMode" /> property must be set to <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.MembershipProvider" /> for the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> to take effect. When the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> property is set and the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.UserNamePasswordValidationMode" /> property is not, indigo2 uses Windows authentication and ignores the value of the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> property.</para>
          <para>For <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.Custom" /> mode, the service uses <see cref="T:System.IdentityModel.Selectors.UserNamePasswordValidator" /> for user name/password authentication by calling the <see cref="M:System.IdentityModel.Selectors.UserNamePasswordValidator.Validate(System.String,System.String)" /> method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a custom user name and password validator.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="IncludeWindowsGroups">
      <MemberSignature Language="C#" Value="public bool IncludeWindowsGroups { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IncludeWindowsGroups" />
      <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>In most scenarios when validating Windows user names and passwords, Windows groups in which users belong provide useful information for authorization decisions. However, if the Windows groups are not required, setting this property to false can improve performance by avoiding a full-group claim population.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether Windows groups are included in the security context.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="MaxCachedLogonTokens">
      <MemberSignature Language="C#" Value="public int MaxCachedLogonTokens { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 MaxCachedLogonTokens" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The default value is 128. crdefault <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CacheLogonTokens" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the maximum number of logon tokens to cache.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="MembershipProvider">
      <MemberSignature Language="C#" Value="public System.Web.Security.MembershipProvider MembershipProvider { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Web.Security.MembershipProvider MembershipProvider" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Web.Security.MembershipProvider</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>For <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.MembershipProvider" /> mode, the service uses <see cref="T:System.Web.Security.MembershipProvider" /> for user name/password authentication by calling the <see cref="M:System.Web.Security.MembershipProvider.ValidateUser(System.String,System.String)" /> method.</para>
          <block subset="none" type="note">
            <para>The <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.UserNamePasswordValidationMode" /> property must be set to <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.MembershipProvider" /> for the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> to take effect. When the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> property is set and the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.UserNamePasswordValidationMode" /> property is not, indigo2 uses Windows authentication and ignores the value of the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> property.</para>
          </block>
          <para>If the <see cref="T:System.ServiceModel.Security.UserNamePasswordValidationMode" /> property is set to MembershipProvider and the MembershipProvider property is not set to a value, the default is the <see cref="T:System.Web.Security.SqlMembershipProvider" /> class.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the membership provider.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="UserNamePasswordValidationMode">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Security.UserNamePasswordValidationMode UserNamePasswordValidationMode { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.ServiceModel.Security.UserNamePasswordValidationMode UserNamePasswordValidationMode" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Security.UserNamePasswordValidationMode</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Possible values are:</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.Custom" />
              </para>
            </item>
            <item>
              <para>
                <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.MembershipProvider" /> </para>
            </item>
            <item>
              <para>
                <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.Windows" />
              </para>
            </item>
          </list>
          <para>If this property is set to <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.Custom" />, the service uses the object returned by <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.CustomUserNamePasswordValidator" /> to validate user names and passwords in incoming messages.</para>
          <block subset="none" type="note">
            <para>When a indigo2 service is hosted in Internet Information Services (IIS) using transport-level security and the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.UserNamePasswordValidationMode" /> property is set to <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.Custom" />, the custom authentication scheme uses a subset of Windows authentication. That is because in this scenario, IIS performs Windows authentication prior to indigo2 invoking the custom authenticator.</para>
          </block>
          <para>When the value of this property is set to <see cref="F:System.ServiceModel.Security.UserNamePasswordValidationMode.MembershipProvider" />, specify the membership provider by setting the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> property, and then the membership provider instance specified by the <see cref="P:System.ServiceModel.Security.UserNamePasswordServiceCredential.MembershipProvider" /> property is used to validate the username and password in incoming messages.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the method of validating the user name and password.</para>
        </summary>
      </Docs>
    </Member>
  </Members>
</Type>