ClientFormsAuthenticationMembershipProvider Clase

Definición

Habilita la autenticación de formularios con servicios de aplicación cliente.

public ref class ClientFormsAuthenticationMembershipProvider : System::Web::Security::MembershipProvider
public class ClientFormsAuthenticationMembershipProvider : System.Web.Security.MembershipProvider
type ClientFormsAuthenticationMembershipProvider = class
    inherit MembershipProvider
Public Class ClientFormsAuthenticationMembershipProvider
Inherits MembershipProvider
Herencia
ClientFormsAuthenticationMembershipProvider

Ejemplos

En el código de ejemplo siguiente se muestra cómo usar este método para validar al usuario mediante una implementación de IClientFormsAuthenticationCredentialsProvider.

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;
}
Private Function ValidateUsingCredentialsProvider() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            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 ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Comentarios

Puede usar servicios de aplicaciones cliente para validar a los usuarios mediante la autenticación de formularios. Para habilitar la autenticación de formularios, configure la aplicación para que use la clase ClientFormsAuthenticationMembershipProvider.

Después de la configuración, puede validar a los usuarios llamando al método staticMembership.ValidateUser, que llama internamente al método ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String).

La autenticación de formularios requiere que el usuario especifique sus credenciales mediante controles de inicio de sesión proporcionados por la aplicación. Puede recuperar las credenciales y pasarlas al método Membership.ValidateUser. También puede pasar cadenas vacías o null para usar un proveedor de credenciales. Un proveedor de credenciales es una implementación IClientFormsAuthenticationCredentialsProvider especificada en el archivo de configuración de la aplicación. Normalmente, implementará el método IClientFormsAuthenticationCredentialsProvider.GetCredentials para mostrar un cuadro de diálogo de inicio de sesión y devolver un objeto ClientFormsAuthenticationCredentials rellenado. El uso de un proveedor de credenciales permite compartir un único cuadro de diálogo de inicio de sesión entre varias aplicaciones.

El método ClientFormsAuthenticationMembershipProvider.ValidateUser autentica a los usuarios a través del servicio de inicio de sesión indicado por la propiedad ServiceUri. El valor de la propiedad ServiceUri se recupera normalmente del archivo de configuración de la aplicación junto con otros valores de configuración.

Si el usuario se autentica correctamente, el proveedor de servicios establece la propiedad staticThread.CurrentPrincipal en un nuevo objeto ClientRolePrincipal que contiene un nuevo objeto ClientFormsIdentity que contiene la información del usuario. Si un ClientRoleProvider está configurado para la aplicación, puede usar el objeto ClientRolePrincipal para recuperar la información de rol de usuario del servicio de roles.

Puede recuperar una referencia a la instancia de ClientFormsAuthenticationMembershipProvider actual a través de la propiedad staticMembership.Provider. Puede usar la referencia del proveedor de pertenencia para llamar directamente al método ClientFormsAuthenticationMembershipProvider.ValidateUser. Además, necesitará la referencia del proveedor de pertenencia para llamar al método Logout, que no está disponible en la clase base MembershipProvider.

No puede usar la clase ClientFormsAuthenticationMembershipProvider para crear, eliminar ni modificar la información de pertenencia. Para crear, eliminar o modificar usuarios, debe cambiar la configuración del servicio de inicio de sesión en el servidor.

Constructores

ClientFormsAuthenticationMembershipProvider()

Inicializa una nueva instancia de la clase ClientFormsAuthenticationMembershipProvider.

Propiedades

ApplicationName

Esta clase no usa esta propiedad.

Description

Obtiene una breve descripción fácil de mostrar en herramientas administrativas u otras interfaces de usuario (UIs).

(Heredado de ProviderBase)
EnablePasswordReset

Esta clase no usa esta propiedad.

EnablePasswordRetrieval

Esta clase no usa esta propiedad.

MaxInvalidPasswordAttempts

Esta clase no usa esta propiedad.

MinRequiredNonAlphanumericCharacters

Esta clase no usa esta propiedad.

MinRequiredPasswordLength

Esta clase no usa esta propiedad.

Name

Obtiene el nombre descriptivo que se usa para hacer referencia al proveedor durante la configuración.

(Heredado de ProviderBase)
PasswordAttemptWindow

Esta clase no usa esta propiedad.

PasswordFormat

Esta clase no usa esta propiedad.

PasswordStrengthRegularExpression

Esta clase no usa esta propiedad.

RequiresQuestionAndAnswer

Esta clase no usa esta propiedad.

RequiresUniqueEmail

Esta clase no usa esta propiedad.

ServiceUri

Obtiene o establece el URI del servicio de autenticación.

Métodos

ChangePassword(String, String, String)

Esta clase no usa este método.

ChangePasswordQuestionAndAnswer(String, String, String, String)

Esta clase no usa este método.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Esta clase no usa este método.

DecryptPassword(Byte[])

Descifra una contraseña cifrada.

(Heredado de MembershipProvider)
DeleteUser(String, Boolean)

Esta clase no usa este método.

EncryptPassword(Byte[])

Cifra una contraseña.

(Heredado de MembershipProvider)
EncryptPassword(Byte[], MembershipPasswordCompatibilityMode)

Cifra la contraseña especificada mediante el modo de compatibilidad con contraseña especificado.

(Heredado de MembershipProvider)
Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
FindUsersByEmail(String, Int32, Int32, Int32)

Esta clase no usa este método.

FindUsersByName(String, Int32, Int32, Int32)

Esta clase no usa este método.

GetAllUsers(Int32, Int32, Int32)

Esta clase no usa este método.

GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetNumberOfUsersOnline()

Esta clase no usa este método.

GetPassword(String, String)

Esta clase no usa este método.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetUser(Object, Boolean)

Esta clase no usa este método.

GetUser(String, Boolean)

Esta clase no usa este método.

GetUserNameByEmail(String)

Esta clase no usa este método.

Initialize(String, NameValueCollection)

Inicializa el proveedor.

Logout()

Cierra la sesión del usuario.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
OnValidatingPassword(ValidatePasswordEventArgs)

Genera el evento ValidatingPassword si se ha definido un controlador de eventos.

(Heredado de MembershipProvider)
ResetPassword(String, String)

Esta clase no usa este método.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
UnlockUser(String)

Esta clase no usa este método.

UpdateUser(MembershipUser)

Esta clase no usa este método.

ValidateUser(String, String)

Autentica a un usuario mediante el nombre de usuario y la contraseña especificados.

ValidateUser(String, String, Boolean)

Autentica a un usuario mediante el nombre de usuario y la contraseña especificados, almacenando opcionalmente un hash de la contraseña en la caché de datos local.

ValidateUser(String, String, String)

Autentica a un usuario en el URI de servicio especificado mediante el nombre de usuario y la contraseña especificados.

Eventos

UserValidated

Se produce cuando se valida el usuario.

ValidatingPassword

Se produce cuando se crea un usuario, se cambia una contraseña o se restablece una contraseña.

(Heredado de MembershipProvider)

Se aplica a

Consulte también