ChangePassword.ChangingPassword 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.
Bir kullanıcı hesabının parolası üyelik sağlayıcısı tarafından değiştirilmeden önce gerçekleşir.
public:
event System::Web::UI::WebControls::LoginCancelEventHandler ^ ChangingPassword;
public event System.Web.UI.WebControls.LoginCancelEventHandler ChangingPassword;
member this.ChangingPassword : System.Web.UI.WebControls.LoginCancelEventHandler
Public Custom Event ChangingPassword As LoginCancelEventHandler
Olay Türü
Örnekler
Aşağıdaki kod örneği, denetim kullanan ve adlı ChangingPassword
olay için ChangingPassword bir işleyici içeren bir ChangePassword ASP.NET sayfasının nasıl kullanılacağını gösterir. Olay işleyicisindeki kod özelliğinde depolanan eski parolayı içinde CurrentPasswordNewPassworddepolanan yeni parolayla karşılaştırır. İki parola aynıysa, parolayı değiştirmek başarısız olur.
Denetim, ChangePassword kullanıcıların kullanıcı adlarını girmelerini sağlamak için özelliğini true
olarak ayarlarDisplayUserName. Bu, kullanıcının sayfayı görüntülemek için oturum açması gerekmediği anlamına gelir.
Kod örneği, ASP.NET Web sitesinin ASP.NET üyeliği ve Forms kimlik doğrulamasını kullanacak şekilde yapılandırıldığını ve adı ve parolası sizin için bilinen bir kullanıcı oluşturulduğunu varsayar. Daha fazla bilgi için bkz . Nasıl yapılır: Basit Form Kimlik Doğrulaması Uygulama.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
//Manually register the event-handling methods.
ChangePassword1.ChangingPassword += new LoginCancelEventHandler(this._ChangingPassword);
}
void _ChangingPassword(Object sender, LoginCancelEventArgs e)
{
if (ChangePassword1.CurrentPassword.ToString() == ChangePassword1.NewPassword.ToString())
{
Message1.Visible = true;
Message1.Text = "Old password and new password must be different. Please try again.";
e.Cancel = true;
}
else
{
//This line prevents the error showing up after a first failed attempt.
Message1.Visible = false;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ChangePassword including a ChangingPassword event handler</title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align:center">
<h1>ChangePassword</h1>
<asp:LoginView ID="LoginView1" Runat="server"
Visible="true">
<LoggedInTemplate>
<asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
<br />
</LoggedInTemplate>
<AnonymousTemplate>
You are not logged in
</AnonymousTemplate>
</asp:LoginView><br />
<asp:ChangePassword ID="ChangePassword1" Runat="server"
BorderStyle="Solid"
BorderWidth="1"
CancelDestinationPageUrl="~/Default.aspx"
DisplayUserName="true"
OnChangingPassword="_ChangingPassword"
ContinueDestinationPageUrl="~/Default.aspx" >
</asp:ChangePassword><br />
<asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />
<asp:HyperLink ID="HyperLink1" Runat="server"
NavigateUrl="~/Default.aspx">
Home
</asp:HyperLink>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub PageLoad(ByVal Sender As Object, ByVal e As EventArgs)
'Manually register the event-handling methods.
AddHandler ChangePassword1.ChangingPassword, AddressOf Me._ChangingPassword
End Sub
Public Sub _ChangingPassword(ByVal Sender As Object, ByVal e As LoginCancelEventArgs)
If (ChangePassword1.CurrentPassword.ToString() = ChangePassword1.NewPassword.ToString) Then
Message1.Visible = True
Message1.Text = "Old password and new password must be different. Please try again."
e.Cancel = True
Else
'This line prevents the error showing up after a first failed attempt.
Message1.Visible = False
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ChangePassword including a ChangingPassword event handler</title>
</head>
<body>
<form id="form1" runat="server">
<div style="text-align:center">
<h1>ChangePassword</h1>
<asp:LoginView ID="LoginView1" Runat="server"
Visible="true">
<LoggedInTemplate>
<asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
<br />
</LoggedInTemplate>
<AnonymousTemplate>
You are not logged in
</AnonymousTemplate>
</asp:LoginView><br />
<asp:ChangePassword ID="ChangePassword1" Runat="server"
BorderStyle="Solid"
BorderWidth="1"
CancelDestinationPageUrl="~/Default.aspx"
DisplayUserName="true"
OnChangingPassword="_ChangingPassword"
ContinueDestinationPageUrl="~/Default.aspx" >
</asp:ChangePassword><br />
<asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />
<asp:HyperLink ID="HyperLink1" Runat="server"
NavigateUrl="~/Default.aspx">
Home
</asp:HyperLink>
</div>
</form>
</body>
</html>
Açıklamalar
Olay ChangingPassword , bir kullanıcı hesabının parolasını değiştirmek için özelliğinde MembershipProvider belirtilen üyelik sağlayıcısı çağrılmadan önce oluşturulur.
Parolayı ChangingPassword değiştirmeden önce gerekli olan işlemleri gerçekleştirmek için olayını kullanın. Örneğin, yeni parolayı denetleyebilir ve ortak parolalar listesinde olmadığından emin olun. Kullanıcı için yeni yetkilendirme belirteci olaydan sonra ChangingPassword ancak olaydan önce ChangedPassword ayarlanır.
Olay ChangingPassword işleyicisi üyelik sağlayıcısının Cancel çağrılmaması gerektiğini belirlerse nesnenin true
özelliği LoginCancelEventArgs olarak ayarlanarak olay iptal edilebilir.
Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.
Şunlara uygulanır
Ayrıca bkz.
- OnChangingPassword(LoginCancelEventArgs)
- ASP.NET Web Sayfalarında Sunucu Olay İşleme
- ASP.NET Oturum Açma Denetimlerine Genel Bakış
- ASP.NET Oturum Açma Denetimlerinin Görünümünü ve Davranışını Özelleştirme
- Web Sunucusu Denetim Şablonlarını ASP.NET
- Nasıl yapılır: Anonim ve Oturum Açmış Kullanıcılara Farklı Bilgiler Görüntüleme
- Web Sitesi Yönetim Aracı Güvenlik Sekmesi
- Oturum Açma Denetimlerinin Güvenliğini Sağlama
- Web Uygulamaları için Temel Güvenlik Uygulamaları
- Üyeliğin Güvenliğini Sağlama