0 out of 1 rated this helpful - Rate this topic

ClientFormsAuthenticationMembershipProvider Class

Enables forms authentication with client application services.

System.Object
  System.Configuration.Provider.ProviderBase
    System.Web.Security.MembershipProvider
      System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider

Namespace:  System.Web.ClientServices.Providers
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)
public class ClientFormsAuthenticationMembershipProvider : MembershipProvider

The ClientFormsAuthenticationMembershipProvider type exposes the following members.

  Name Description
Public method ClientFormsAuthenticationMembershipProvider Initializes a new instance of the ClientFormsAuthenticationMembershipProvider class.
Top
  Name Description
Public property ApplicationName This property is not used by this class. (Overrides MembershipProvider.ApplicationName.)
Public property Description Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs). (Inherited from ProviderBase.)
Public property EnablePasswordReset This property is not used by this class. (Overrides MembershipProvider.EnablePasswordReset.)
Public property EnablePasswordRetrieval This property is not used by this class. (Overrides MembershipProvider.EnablePasswordRetrieval.)
Public property MaxInvalidPasswordAttempts This property is not used by this class. (Overrides MembershipProvider.MaxInvalidPasswordAttempts.)
Public property MinRequiredNonAlphanumericCharacters This property is not used by this class. (Overrides MembershipProvider.MinRequiredNonAlphanumericCharacters.)
Public property MinRequiredPasswordLength This property is not used by this class. (Overrides MembershipProvider.MinRequiredPasswordLength.)
Public property Name Gets the friendly name used to refer to the provider during configuration. (Inherited from ProviderBase.)
Public property PasswordAttemptWindow This property is not used by this class. (Overrides MembershipProvider.PasswordAttemptWindow.)
Public property PasswordFormat This property is not used by this class. (Overrides MembershipProvider.PasswordFormat.)
Public property PasswordStrengthRegularExpression This property is not used by this class. (Overrides MembershipProvider.PasswordStrengthRegularExpression.)
Public property RequiresQuestionAndAnswer This property is not used by this class. (Overrides MembershipProvider.RequiresQuestionAndAnswer.)
Public property RequiresUniqueEmail This property is not used by this class. (Overrides MembershipProvider.RequiresUniqueEmail.)
Public property ServiceUri Gets or sets the URI of the authentication service.
Top
  Name Description
Public method ChangePassword This method is not used by this class. (Overrides MembershipProvider.ChangePassword(String, String, String).)
Public method ChangePasswordQuestionAndAnswer This method is not used by this class. (Overrides MembershipProvider.ChangePasswordQuestionAndAnswer(String, String, String, String).)
Public method CreateUser This method is not used by this class. (Overrides MembershipProvider.CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus).)
Protected method DecryptPassword Decrypts an encrypted password. (Inherited from MembershipProvider.)
Public method DeleteUser This method is not used by this class. (Overrides MembershipProvider.DeleteUser(String, Boolean).)
Protected method EncryptPassword(Byte[]) Encrypts a password. (Inherited from MembershipProvider.)
Protected method EncryptPassword(Byte[], MembershipPasswordCompatibilityMode) Encrypts the specified password using the specified password-compatibility mode. (Inherited from MembershipProvider.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method FindUsersByEmail This method is not used by this class. (Overrides MembershipProvider.FindUsersByEmail(String, Int32, Int32, Int32).)
Public method FindUsersByName This method is not used by this class. (Overrides MembershipProvider.FindUsersByName(String, Int32, Int32, Int32).)
Public method GetAllUsers This method is not used by this class. (Overrides MembershipProvider.GetAllUsers(Int32, Int32, Int32).)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetNumberOfUsersOnline This method is not used by this class. (Overrides MembershipProvider.GetNumberOfUsersOnline().)
Public method GetPassword This method is not used by this class. (Overrides MembershipProvider.GetPassword(String, String).)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method GetUser(Object, Boolean) This method is not used by this class. (Overrides MembershipProvider.GetUser(Object, Boolean).)
Public method GetUser(String, Boolean) This method is not used by this class. (Overrides MembershipProvider.GetUser(String, Boolean).)
Public method GetUserNameByEmail This method is not used by this class. (Overrides MembershipProvider.GetUserNameByEmail(String).)
Public method Initialize Initializes the provider. (Overrides ProviderBase.Initialize(String, NameValueCollection).)
Public method Logout Logs out the user.
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnValidatingPassword Raises the ValidatingPassword event if an event handler has been defined. (Inherited from MembershipProvider.)
Public method ResetPassword This method is not used by this class. (Overrides MembershipProvider.ResetPassword(String, String).)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Public method UnlockUser This method is not used by this class. (Overrides MembershipProvider.UnlockUser(String).)
Public method UpdateUser This method is not used by this class. (Overrides MembershipProvider.UpdateUser(MembershipUser).)
Public method ValidateUser(String, String) Authenticates a user by using the specified user name and password. (Overrides MembershipProvider.ValidateUser(String, String).)
Public method ValidateUser(String, String, Boolean) Authenticates a user by using the specified user name and password, optionally storing a hash of the password in the local data cache.
Public method Static member ValidateUser(String, String, String) Authenticates a user at the specified service URI by using the specified user name and password.
Top
  Name Description
Public event UserValidated Occurs when the user is validated.
Public event ValidatingPassword Occurs when a user is created, a password is changed, or a password is reset. (Inherited from MembershipProvider.)
Top

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

After configuration, you can validate users by calling the static Membership.ValidateUser method, which internally calls the ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String) method.

Forms authentication requires that the user specify their credentials through login controls provided by your application. You can retrieve the credentials and pass them to the Membership.ValidateUser method. You can also pass in empty strings or null to use a credentials provider. A credentials provider is an IClientFormsAuthenticationCredentialsProvider implementation specified in your application configuration file. You will typically implement the IClientFormsAuthenticationCredentialsProvider.GetCredentials method to display a login dialog box and return a populated ClientFormsAuthenticationCredentials object. Using a credentials provider enables you to share a single login dialog box among multiple applications.

The ClientFormsAuthenticationMembershipProvider.ValidateUser method authenticates users through the login service indicated by the ServiceUri property. The value of the ServiceUri property is typically retrieved from the application configuration file along with other configuration values. For more information, see How to: Configure Client Application Services.

If the user is successfully authenticated, the service provider sets the static Thread.CurrentPrincipal property to a new ClientRolePrincipal object that contains a new ClientFormsIdentity object that contains the user information. 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 ClientFormsAuthenticationMembershipProvider instance through the static Membership.Provider property. You can use the membership provider reference to call the ClientFormsAuthenticationMembershipProvider.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.

You cannot use the ClientFormsAuthenticationMembershipProvider class to create, delete, or modify membership information. To create, delete, or modify users, you must change the configuration of the login service on the server.

The following example code demonstrates how to use this method to validate the user by using an IClientFormsAuthenticationCredentialsProvider implementation.


private bool ValidateUsingCredentialsProvider()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with empty strings in order to display the 
        // login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}


.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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ