Share via


MembershipUser.ChangePassword(String, String) Methode

Definition

Aktualisiert das Kennwort für den Mitgliedschaftsbenutzer im Mitgliedschaftsdatenspeicher.

public:
 virtual bool ChangePassword(System::String ^ oldPassword, System::String ^ newPassword);
public virtual bool ChangePassword (string oldPassword, string newPassword);
abstract member ChangePassword : string * string -> bool
override this.ChangePassword : string * string -> bool
Public Overridable Function ChangePassword (oldPassword As String, newPassword As String) As Boolean

Parameter

oldPassword
String

Das aktuelle Kennwort für den Mitgliedschaftsbenutzer.

newPassword
String

Das neue Kennwort für den Mitgliedschaftsbenutzer.

Gibt zurück

Boolean

true, wenn die Aktualisierung erfolgreich war, andernfalls false.

Ausnahmen

oldPassword ist eine leere Zeichenfolge.

- oder -

newPassword ist eine leere Zeichenfolge.

oldPassword ist null.

- oder -

newPassword ist null.

Diese Methode ist nicht verfügbar. Dies kann auftreten, wenn die Anwendung auf das .NET Framework 4 Clientprofil ausgerichtet ist. Um diese Ausnahme zu verhindern, überschreiben Sie die Methode, oder ändern Sie die Anwendung so, dass sie auf die Vollversion von .NET Framework abzielt.

Beispiele

Im folgenden Codebeispiel wird das Kennwort für den aktuellen angemeldeten Benutzer geändert.

Wichtig

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, die eine potenzielle Sicherheitsrisiken darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void ChangePassword_OnClick(object sender, EventArgs args)
{
  // Update the password.

  MembershipUser u = Membership.GetUser(User.Identity.Name);

  try
  {
    if (u.ChangePassword(OldPasswordTextbox.Text, PasswordTextbox.Text))
    {
      Msg.Text = "Password changed.";
    }
    else
    {
      Msg.Text = "Password change failed. Please re-enter your values and try again.";
    }
  }
  catch (Exception e)
  {
    Msg.Text = "An exception occurred: " + Server.HtmlEncode(e.Message) + ". Please re-enter your values and try again.";
  }
}


</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Change Password</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Change Password for <%=User.Identity.Name%></h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" />

  <table cellpadding="3" border="0">
    <tr>
      <td>Old Password:</td>
      <td><asp:Textbox id="OldPasswordTextbox" runat="server" TextMode="Password" /></td>
      <td><asp:RequiredFieldValidator id="OldPasswordRequiredValidator" runat="server"
                                      ControlToValidate="OldPasswordTextbox" ForeColor="red"
                                      Display="Static" ErrorMessage="Required" /></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td>
      <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server"
                                      ControlToValidate="PasswordTextbox" ForeColor="red"
                                      Display="Static" ErrorMessage="Required" /></td>
    </tr>
    <tr>
      <td>Confirm Password:</td>
      <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td>
      <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server"
                                      ControlToValidate="PasswordConfirmTextbox" ForeColor="red"
                                      Display="Static" ErrorMessage="Required" />
          <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server"
                                      ControlToValidate="PasswordConfirmTextbox" ForeColor="red"
                                      Display="Static" ControlToCompare="PasswordTextBox"
                                      ErrorMessage="Confirm password must match password." />
      </td>
    </tr>
    <tr>
      <td></td>
      <td><asp:Button id="ChangePasswordButton" Text="Change Password" 
                      OnClick="ChangePassword_OnClick" runat="server" /></td>
    </tr>
  </table>
</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!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 ChangePassword_OnClick(sender As Object, args As EventArgs)
  ' Update the password.

  Dim u As MembershipUser = Membership.GetUser(User.Identity.Name)

  Try
    If u.ChangePassword(OldPasswordTextbox.Text, PasswordTextbox.Text) Then
      Msg.Text = "Password changed."
    Else
      Msg.Text = "Password change failed. Please re-enter your values and try again."
    End If
  Catch e As Exception
    Msg.Text = "An exception occurred: " & Server.HtmlEncode(e.Message) & ". Please re-enter your values and try again."
  End Try

End Sub


</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Change Password</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Change Password for <%=User.Identity.Name%></h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" />

  <table cellpadding="3" border="0">
    <tr>
      <td>Old Password:</td>
      <td><asp:Textbox id="OldPasswordTextbox" runat="server" TextMode="Password" /></td>
      <td><asp:RequiredFieldValidator id="OldPasswordRequiredValidator" runat="server"
                                      ControlToValidate="OldPasswordTextbox" ForeColor="red"
                                      Display="Static" ErrorMessage="Required" /></td>
    </tr>
    <tr>
      <td>Password:</td>
      <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td>
      <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server"
                                      ControlToValidate="PasswordTextbox" ForeColor="red"
                                      Display="Static" ErrorMessage="Required" /></td>
    </tr>
    <tr>
      <td>Confirm Password:</td>
      <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td>
      <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server"
                                      ControlToValidate="PasswordConfirmTextbox" ForeColor="red"
                                      Display="Static" ErrorMessage="Required" />
          <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server"
                                      ControlToValidate="PasswordConfirmTextbox" ForeColor="red"
                                      Display="Static" ControlToCompare="PasswordTextBox"
                                      ErrorMessage="Confirm password must match password." />
      </td>
    </tr>
    <tr>
      <td></td>
      <td><asp:Button id="ChangePasswordButton" Text="Change Password" 
                      OnClick="ChangePassword_OnClick" runat="server" /></td>
    </tr>
  </table>
</form>

</body>
</html>

Hinweise

ChangePassword ruft die Methode des Mitgliedschaftsanbieters auf, auf den die ChangePassword Eigenschaft verwiesen ProviderName wird, um das Kennwort für den Mitgliedschaftsbenutzer im Mitgliedschaftsdatenspeicher zu aktualisieren.

Der Mitgliedschaftsanbieter hat möglicherweise Einschränkungen für die Größe des Kennworts. Informationen zu Größenbeschränkungen finden Sie in der Dokumentation für den Mitgliedschaftsanbieter.

Gilt für

Siehe auch