2012-08-23 69 views
7

He estado aprendiendo acerca de la clase MembershipProvider y pensé que se suponía que el método Membership.ValidateUser() que se utilizará para registrar un usuario en.¿Cuál es el propósito de Membership.ValidateUser()

Sin embargo, acabo de aprender que hay un FormsAuthentication.Authenticate().

¿Cuál es el propósito de ValidateUser() dentro de Membership?

Respuesta

10

En pocas palabras, es posible que desee simplemente validar que un usuario es quien dice ser sin necesidad de conservar una cookie de autenticación por un período de tiempo prolongado.

+0

Así debería usar el MembershipProvider.ValidateUser() dentro de una anulación de los FormsAuthentication.Authenticate()? – Luke

+0

@Coulton, el método 'Authenticate()' esencialmente hará lo mismo en este contexto, por lo que no es necesario sobrescribirlo. El uso del método 'ValidateUser()' teóricamente te permitiría elegir tu proveedor, si tuvieras más de uno. El método 'Authenticate()' solo usa el configurado en su web.config. –

+1

Acabo de notar [aquí] (http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.authenticate.aspx) que dice que Authenticate() es obsoleto y 'The recommended alternativa es usar las API de membresía, como Membership.ValidateUser. Para obtener más información, vea http: //go.microsoft.com/fwlink/? LinkId = 252463. Entonces debería usar Membership.ValidateUser() y hacer mi autenticación de formularios dentro de ese método – Luke

1

Solo verifica su fuente de datos (base de datos) si el nombre de usuario y la contraseña pasados ​​existen en la base de datos y coincide y devuelve el verdadero Check MSDN. Si no coinciden, devuelve falso

public static bool ValidateUser(string username, string password) 
Cuestiones relacionadas