This documentation is archived and is not being maintained.

ClientWindowsAuthenticationMembershipProvider Class

Enables Windows authentication with client application services.


Namespace:  System.Web.ClientServices.Providers
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

public class ClientWindowsAuthenticationMembershipProvider : MembershipProvider

The ClientWindowsAuthenticationMembershipProvider type exposes the following members.

Public methodClientWindowsAuthenticationMembershipProviderInitializes a new instance of the ClientWindowsAuthenticationMembershipProvider class.

Public propertyApplicationNameThis property is not used by this class. (Overrides MembershipProvider.ApplicationName.)
Public propertyDescriptionGets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs). (Inherited from ProviderBase.)
Public propertyEnablePasswordResetThis property is not used by this class. (Overrides MembershipProvider.EnablePasswordReset.)
Public propertyEnablePasswordRetrievalThis property is not used by this class. (Overrides MembershipProvider.EnablePasswordRetrieval.)
Public propertyMaxInvalidPasswordAttemptsThis property is not used by this class. (Overrides MembershipProvider.MaxInvalidPasswordAttempts.)
Public propertyMinRequiredNonAlphanumericCharactersThis property is not used by this class. (Overrides MembershipProvider.MinRequiredNonAlphanumericCharacters.)
Public propertyMinRequiredPasswordLengthThis property is not used by this class. (Overrides MembershipProvider.MinRequiredPasswordLength.)
Public propertyNameGets the friendly name used to refer to the provider during configuration. (Inherited from ProviderBase.)
Public propertyPasswordAttemptWindowThis property is not used by this class. (Overrides MembershipProvider.PasswordAttemptWindow.)
Public propertyPasswordFormatThis property is not used by this class. (Overrides MembershipProvider.PasswordFormat.)
Public propertyPasswordStrengthRegularExpressionThis property is not used by this class. (Overrides MembershipProvider.PasswordStrengthRegularExpression.)
Public propertyRequiresQuestionAndAnswerThis property is not used by this class. (Overrides MembershipProvider.RequiresQuestionAndAnswer.)
Public propertyRequiresUniqueEmailThis property is not used by this class. (Overrides MembershipProvider.RequiresUniqueEmail.)

Public methodChangePasswordThis method is not used by this class. (Overrides MembershipProvider.ChangePassword(String, String, String).)
Public methodChangePasswordQuestionAndAnswerThis method is not used by this class. (Overrides MembershipProvider.ChangePasswordQuestionAndAnswer(String, String, String, String).)
Public methodCreateUserThis method is not used by this class. (Overrides MembershipProvider.CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus).)
Protected methodDecryptPasswordDecrypts an encrypted password. (Inherited from MembershipProvider.)
Public methodDeleteUserThis method is not used by this class. (Overrides MembershipProvider.DeleteUser(String, Boolean).)
Protected methodEncryptPassword(Byte[])Encrypts a password. (Inherited from MembershipProvider.)
Protected methodEncryptPassword(Byte[], MembershipPasswordCompatibilityMode)Encrypts the specified password using the specified password-compatibility mode. (Inherited from MembershipProvider.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodFindUsersByEmailThis method is not used by this class. (Overrides MembershipProvider.FindUsersByEmail(String, Int32, Int32, Int32).)
Public methodFindUsersByNameThis method is not used by this class. (Overrides MembershipProvider.FindUsersByName(String, Int32, Int32, Int32).)
Public methodGetAllUsersThis method is not used by this class. (Overrides MembershipProvider.GetAllUsers(Int32, Int32, Int32).)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetNumberOfUsersOnlineThis method is not used by this class. (Overrides MembershipProvider.GetNumberOfUsersOnline().)
Public methodGetPasswordThis method is not used by this class. (Overrides MembershipProvider.GetPassword(String, String).)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetUser(Object, Boolean)This method is not used by this class. (Overrides MembershipProvider.GetUser(Object, Boolean).)
Public methodGetUser(String, Boolean)This method is not used by this class. (Overrides MembershipProvider.GetUser(String, Boolean).)
Public methodGetUserNameByEmailThis method is not used by this class. (Overrides MembershipProvider.GetUserNameByEmail(String).)
Public methodInitializeInitializes the provider. (Inherited from ProviderBase.)
Public methodLogoutLogs out the user.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodOnValidatingPasswordRaises the ValidatingPassword event if an event handler has been defined. (Inherited from MembershipProvider.)
Public methodResetPasswordThis method is not used by this class. (Overrides MembershipProvider.ResetPassword(String, String).)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodUnlockUserThis method is not used by this class. (Overrides MembershipProvider.UnlockUser(String).)
Public methodUpdateUserThis method is not used by this class. (Overrides MembershipProvider.UpdateUser(MembershipUser).)
Public methodValidateUserAutomatically authenticates the current user by using the identity supplied by the operating system. (Overrides MembershipProvider.ValidateUser(String, String).)

Public eventValidatingPasswordOccurs when a user is created, a password is changed, or a password is reset. (Inherited from MembershipProvider.)

You can use client application services to validate users by using Windows authentication. To enable Windows authentication, you configure your application to use the ClientWindowsAuthenticationMembershipProvider class. For more information, see How to: Configure Client Application Services.

After configuration, you can validate users by calling the static Membership.ValidateUser method. The Membership.ValidateUser method internally calls the ValidateUser method.

The ClientWindowsAuthenticationMembershipProvider.ValidateUser method automatically authenticates the current user and sets the static Thread.CurrentPrincipal property to a ClientRolePrincipal object that contains the current WindowsIdentity. If a ClientRoleProvider is configured for your application, you can use the ClientRolePrincipal object to retrieve user role information from the roles service.

You can retrieve a reference to the current ClientWindowsAuthenticationMembershipProvider instance through the static Membership.Provider property. You can use the membership provider reference to call the ClientWindowsAuthenticationMembershipProvider.ValidateUser method directly. Additionally, you will need the membership provider reference to call the Logout method, which is not available in the MembershipProvider base class.

The following example code demonstrates how to use this method to authenticate a user by using Windows authentication. In this example, the value of the static Membership.Provider property is cast to a ClientWindowsAuthenticationMembershipProvider instance. This makes sure that a NullReferenceException will be thrown if you accidentally test this code by using another membership provider.

private bool ValidateUsingWindowsAuthentication()
    ClientWindowsAuthenticationMembershipProvider authProvider =
        System.Web.Security.Membership.Provider as

    // Call ValidateUser and pass null values for the parameters.
    // This call always returns true.
    return authProvider.ValidateUser(null, null);

.NET Framework

Supported in: 4, 3.5

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.