ChangePassword.OnChangingPassword(LoginCancelEventArgs) Yöntem
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ının parolası üyelik sağlayıcısı tarafından değiştirilmeden önce olayı tetikler ChangingPassword .
protected:
virtual void OnChangingPassword(System::Web::UI::WebControls::LoginCancelEventArgs ^ e);
protected virtual void OnChangingPassword (System.Web.UI.WebControls.LoginCancelEventArgs e);
abstract member OnChangingPassword : System.Web.UI.WebControls.LoginCancelEventArgs -> unit
override this.OnChangingPassword : System.Web.UI.WebControls.LoginCancelEventArgs -> unit
Protected Overridable Sub OnChangingPassword (e As LoginCancelEventArgs)
Parametreler
CancelEventArgs Olay verilerini içeren bir nesne.
Ö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. ChangingPassword
özelliğinde depolanan eski parolayı CurrentPassword içinde NewPassworddepolanan yeni parolayla karşılaştırır. İki parola aynıysa, parolayı değiştirmek başarısız olur.
Denetim, ChangePassword kullanıcının kullanıcı adını girmesini 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
yöntemi OnChangingPassword , kullanıcının parolasını değiştirmek için özelliğinde MembershipProvider belirtilen üyelik sağlayıcısı çağrılmadan önce çağrılır.
Parolayı OnChangingPassword değiştirmeden önce gerekli olan tüm işlemleri gerçekleştirmek için yöntemini kullanın; örneğin, yeni parolayı denetleyebilir ve ortak parolalar listesinde olmadığından emin olun.
yöntemi, OnChangingPassworde parametresi true
olarak geçirilen nesnenin CancelEventArgs özelliğini olarak ayarlayarak Cancel olayı iptal ChangingPassword edebilir.
Olay bildirmek, bir temsilci yoluyla olay işleyicisini çağırır. Daha fazla bilgi için bkz. ASP.NET Web Forms Sayfalarında Sunucu Olay İşleme.
yöntemi, OnChangingPassword türetilmiş sınıfların bir temsilci eklemeden olayı işlemesine de izin verir. Bu, türetilmiş bir sınıftaki olayı işlemek için tercih edilen tekniktir.
Devralanlara Notlar
Türetilmiş bir sınıfta yöntemini geçersiz kıldığınızda OnChangingPassword(LoginCancelEventArgs) , kayıtlı temsilcilerin OnChangingPassword(LoginCancelEventArgs) olayı alması için temel sınıf için yöntemini çağırdığınızdan emin olun.
Şunlara uygulanır
Ayrıca bkz.
- OnBubbleEvent(Object, EventArgs)
- ChangingPassword
- 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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin