ChangePassword.ChangingPassword Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит, прежде чем пароль учетной записи пользователя изменяется поставщиком членства.
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
Тип события
Примеры
В следующем примере кода показано, как использовать страницу ASP.NET, которая использует ChangePassword элемент управления и содержит обработчик для ChangingPassword события с именем ChangingPassword
. Код в обработчике событий сравнивает старый пароль, хранящийся в свойстве CurrentPassword , с новым паролем, хранящимся в NewPassword. Если два пароля совпадают, изменение пароля завершается ошибкой.
Элемент ChangePassword управления задает свойству DisplayUserName значение , true
чтобы пользователи могли ввести свое имя пользователя. Это означает, что пользователю не нужно входить в систему для просмотра страницы.
В примере кода предполагается, что веб-сайт ASP.NET настроен для использования ASP.NET членства и проверки подлинности с помощью форм, а также что создан пользователь, имя и пароль которого вам известны. Дополнительные сведения см. в разделе Практическое руководство. Реализация простой проверки подлинности с помощью форм.
<%@ 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>
Комментарии
Событие ChangingPassword возникает перед вызовом поставщика членства, указанного в свойстве MembershipProvider , для изменения пароля для учетной записи пользователя.
ChangingPassword Используйте событие для выполнения любой обработки, необходимой перед изменением пароля, например проверки нового пароля, чтобы убедиться, что он отсутствует в списке распространенных паролей. Новый маркер авторизации для пользователя устанавливается после события, ChangingPassword но до события ChangedPassword .
Событие ChangingPassword можно отменить, присвоив свойству CancelLoginCancelEventArgs объекта значение , true
если обработчик событий определяет, что поставщик членства не должен вызываться.
Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.
Применяется к
См. также раздел
- OnChangingPassword(LoginCancelEventArgs)
- Обработка событий сервера на веб-страницах ASP.NET
- Общие сведения об элементах управления ASP.NET входа
- Настройка внешнего вида и поведения элементов управления входа ASP.NET
- Шаблоны ASP.NET веб-серверных элементов управления
- Практическое руководство. Отображение различных сведений для анонимных и вошедшего в систему пользователей
- Вкладка "Безопасность средства администрирования веб-сайта"
- Защита элементов управления входами
- Базовые рекомендации по безопасности веб-приложений
- Защита членства