PasswordRecovery.VerifyingUser Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kullanıcı adı üyelik sağlayıcısı tarafından doğrulanmadan önce gerçekleşir.
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
Olay Türü
Örnekler
Aşağıdaki kod örneği, gönderilen kullanıcı adının geçerli bir e-posta adresi olarak biçimlendirilip biçimlendirilmediğini denetlemek için olayını kullanır VerifyingUser . Kullanıcı adı düzgün biçimlendirilmemişse, UserNameInstructionText özelliği hatayı gösterecek şekilde değiştirilir.
<%@ 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>
Açıklamalar
Olay VerifyingUser , kullanıcı adının geçerli olup olmadığını belirlemek için kullanıcı adı üyelik sağlayıcısına gönderilmeden önce sunucuda oluşturulur. Tüm büyük veya küçük harflere dönüştürme veya kullanıcı adının e-posta adresi gibi belirli bir biçimde olduğunu doğrulama gibi kullanıcı adında gerekli ön işlemleri gerçekleştirmek için bu olayı kullanın.
Denetim PasswordRecovery önce olayı tetikler VerifyingUser ve ardından girilen kullanıcı adının Web sitesi için geçerli bir kullanıcı adı olup olmadığını belirlemek için özelliğinde MembershipProvider belirtilen üyelik sağlayıcısını kullanır. Geçerliyse ve üyelik sağlayıcısı parola sorusu ve yanıtını destekliyorsa, parola doğrulama sorusu Web sitesinden döndürülür ve PasswordRecovery denetim Soru görünümünü görüntüler. Kullanıcı adı geçerli değilse, özellikteki GeneralFailureText metin UserName görünümünde görüntülenir, böylece kullanıcı farklı bir kullanıcı adı girebilir.
Üyelik sağlayıcısı parola soru ve yanıtını desteklemiyorsa, SendingMail olay oluşturulur ve kullanıcıya yeni veya kurtarılan parolayla e-posta gönderilir.
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.