ChangePassword.ChangingPassword Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit avant que le mot de passe d'un compte d'utilisateur ne soit modifié par le fournisseur d'appartenances.
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
Type d'événement
Exemples
L’exemple de code suivant montre comment utiliser une page ASP.NET qui utilise un ChangePassword contrôle et inclut un gestionnaire pour l’événement ChangingPassword nommé ChangingPassword
. Le code dans le gestionnaire d’événements compare l’ancien mot de passe stocké dans la CurrentPassword propriété au nouveau mot de passe stocké dans NewPassword. Si les deux mots de passe sont identiques, la modification du mot de passe échoue.
Le ChangePassword contrôle définit la propriété true
sur DisplayUserName pour permettre aux utilisateurs d’entrer leur nom d’utilisateur. Cela signifie que l’utilisateur n’a pas besoin de se connecter pour afficher la page.
L’exemple de code suppose que le site Web ASP.NET a été configuré pour utiliser ASP.NET’appartenance et l’authentification par formulaire, et qu’un utilisateur a été créé dont vous connaissez le nom et le mot de passe. Pour plus d’informations, consultez Guide pratique pour implémenter l’authentification par formulaire simple.
<%@ 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>
Remarques
L’événement ChangingPassword est déclenché avant que le fournisseur d’appartenance spécifié dans la MembershipProvider propriété soit appelé pour modifier le mot de passe d’un compte d’utilisateur.
Utilisez l’événement ChangingPassword pour effectuer tout traitement nécessaire avant de modifier le mot de passe, par exemple vérifier le nouveau mot de passe pour vous assurer qu’il ne figure pas dans une liste de mots de passe courants. Le nouveau jeton d’autorisation de l’utilisateur est défini après l’événement ChangingPassword , mais avant l’événement ChangedPassword .
L’événement ChangingPassword peut être annulé en définissant la Cancel propriété de l’objet LoginCancelEventArgs sur true
si le gestionnaire d’événements détermine que le fournisseur d’appartenances ne doit pas être appelé.
Pour plus d'informations sur la gestion des événements, voir gestion et déclenchement d’événements.
S’applique à
Voir aussi
- OnChangingPassword(LoginCancelEventArgs)
- Gestion des événements serveur dans ASP.NET pages web
- Vue d’ensemble des contrôles de connexion ASP.NET
- Personnalisation de l’apparence et du comportement des contrôles de connexion ASP.NET
- modèles de contrôles de serveur web ASP.NET
- Guide pratique pour afficher différentes informations aux utilisateurs anonymes et connectés
- Onglet Sécurité de l’outil d’administration de site web
- Sécurisation des contrôles de connexion
- Pratiques de base relatives à la sécurité des applications Web
- Sécurisation de l’appartenance