PasswordRecovery.VerifyingUser Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Aparece antes de que el proveedor de pertenencia valide el nombre de usuario.
public:
event System::Web::UI::WebControls::LoginCancelEventHandler ^ VerifyingUser;
public event System.Web.UI.WebControls.LoginCancelEventHandler VerifyingUser;
member this.VerifyingUser : System.Web.UI.WebControls.LoginCancelEventHandler
Public Custom Event VerifyingUser As LoginCancelEventHandler
Tipo de evento
Ejemplos
En el ejemplo de código siguiente se usa el VerifyingUser evento para comprobar si el nombre de usuario enviado tiene el formato de una dirección de correo electrónico válida. Si el nombre de usuario no tiene el formato correcto, la UserNameInstructionText propiedad se cambia para mostrar el error.
<%@ page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
bool IsValidEmail(string strIn)
{
// Return true if strIn is in valid email format.
return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}
void PasswordRecovery1_VerifyingUser(object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)
{
if (!IsValidEmail(PasswordRecovery1.UserName))
{
PasswordRecovery1.UserNameInstructionText = "You must enter a valid email address.";
e.Cancel = true;
}
else
{
PasswordRecovery1.UserNameInstructionText = "Enter your User Name to receive your password.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:passwordrecovery id="PasswordRecovery1"
runat="server"
onverifyinguser="PasswordRecovery1_VerifyingUser">
</asp:passwordrecovery>
</form>
</body>
</html>
<%@ page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Function IsValidEmail(ByVal strIn As String) As Boolean
' Return true if strIn is in valid email format.
Return Regex.IsMatch(strIn, ("^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"))
End Function
Sub PasswordRecovery1_VerifyingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)
If Not IsValidEmail(PasswordRecovery1.UserName) Then
PasswordRecovery1.UserNameInstructionText = "You must enter a valid email address."
e.Cancel = True
Else
PasswordRecovery1.UserNameInstructionText = "Enter your User Name to receive your password."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:passwordrecovery id="PasswordRecovery1"
runat="server"
onverifyinguser="PasswordRecovery1_VerifyingUser">
</asp:passwordrecovery>
</form>
</body>
</html>
Comentarios
El VerifyingUser evento se genera en el servidor antes de enviar el nombre de usuario al proveedor de pertenencia para determinar si el nombre de usuario es válido. Use este evento para realizar cualquier preprocesamiento necesario en el nombre de usuario, como convertirlo en todas las letras mayúsculas o minúsculas, o comprobar que el nombre de usuario está en un formato determinado, como una dirección de correo electrónico.
El PasswordRecovery control genera primero el VerifyingUser evento y, a continuación, usa el proveedor de pertenencia especificado en la MembershipProvider propiedad para determinar si el nombre de usuario especificado es un nombre de usuario válido para el sitio web. Si es válido y el proveedor de pertenencia admite preguntas y respuestas de contraseña, la pregunta de comprobación de contraseña se devuelve desde el sitio web y el PasswordRecovery control muestra la vista Pregunta. Si el nombre de usuario no es válido, el texto de la GeneralFailureText propiedad se muestra en la vista UserName para que el usuario pueda escribir otro nombre de usuario.
Si el proveedor de pertenencia no admite preguntas y respuestas con contraseña, se genera el SendingMail evento y se envía el correo electrónico al usuario con la contraseña nueva o recuperada.
Para obtener más información sobre el manejo de eventos, consulte controlar y provocar eventos.