MembershipUser.ChangePasswordQuestionAndAnswer(String, String, String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Aktualizuje pytanie i odpowiedź na hasło użytkownika członkostwa w magazynie danych członkostwa.
public:
virtual bool ChangePasswordQuestionAndAnswer(System::String ^ password, System::String ^ newPasswordQuestion, System::String ^ newPasswordAnswer);
public virtual bool ChangePasswordQuestionAndAnswer (string password, string newPasswordQuestion, string newPasswordAnswer);
abstract member ChangePasswordQuestionAndAnswer : string * string * string -> bool
override this.ChangePasswordQuestionAndAnswer : string * string * string -> bool
Public Overridable Function ChangePasswordQuestionAndAnswer (password As String, newPasswordQuestion As String, newPasswordAnswer As String) As Boolean
Parametry
- password
- String
Bieżące hasło użytkownika członkostwa.
- newPasswordQuestion
- String
Nowa wartość pytania dotyczącego hasła dla użytkownika członkostwa.
- newPasswordAnswer
- String
Nowa wartość odpowiedzi na hasło dla użytkownika członkostwa.
Zwraca
true
jeśli aktualizacja zakończyła się pomyślnie; w przeciwnym razie , false
.
Wyjątki
password
jest pustym ciągiem.
-lub-
newPasswordQuestion
jest pustym ciągiem.
-lub-
newPasswordAnswer
jest pustym ciągiem.
password
to null
.
Ta metoda jest niedostępna. Taka sytuacja może wystąpić, jeśli aplikacja jest przeznaczona dla profilu klienta programu .NET Framework 4. Aby zapobiec temu wyjątkowi, zastąpij metodę lub zmień aplikację na pełną wersję programu .NET Framework.
Przykłady
Poniższy przykład kodu aktualizuje pytanie i odpowiedź na hasło dla bieżącego zalogowanego użytkownika.
Ważne
Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.
<%@ 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 ChangePasswordQuestion_OnClick(object sender, EventArgs args)
{
try
{
MembershipUser u = Membership.GetUser(User.Identity.Name);
Boolean result = u.ChangePasswordQuestionAndAnswer(PasswordTextbox.Text,
QuestionTextbox.Text,
AnswerTextbox.Text);
if (result)
Msg.Text = "Password Question and Answer changed.";
else
Msg.Text = "Password Question and Answer change failed.";
}
catch (Exception e)
{
Msg.Text = "Change failed. Please re-enter your values and try again.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Change Password Question and Answer</title>
</head>
<body>
<form id="form1" runat="server">
<h3>
Change Password Question and Answer for
<%=User.Identity.Name%>
</h3>
<asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br />
<table cellpadding="3" border="0">
<tr>
<td>
Password:</td>
<td>
<asp:TextBox ID="PasswordTextbox" runat="server" TextMode="Password" /></td>
<td>
<asp:RequiredFieldValidator ID="OldPasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox"
ForeColor="red" Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td>
New Password Question:</td>
<td>
<asp:TextBox ID="QuestionTextbox" MaxLength="256" Columns="60" runat="server" /></td>
<td>
<asp:RequiredFieldValidator ID="QuestionRequiredValidator" runat="server" ControlToValidate="QuestionTextbox"
ForeColor="red" Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td>
New Password Answer:</td>
<td>
<asp:TextBox ID="AnswerTextbox" MaxLength="128" Columns="60" runat="server" /></td>
<td>
<asp:RequiredFieldValidator ID="AnswerRequiredValidator" runat="server" ControlToValidate="AnswerTextbox"
ForeColor="red" Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="ChangePasswordQuestionButton" Text="Change Password Question and Answer"
OnClick="ChangePasswordQuestion_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 ChangePasswordQuestion_OnClick(ByVal sender As Object, ByVal args As EventArgs)
Try
Dim u As MembershipUser = Membership.GetUser(User.Identity.Name)
Dim result As Boolean
result = u.ChangePasswordQuestionAndAnswer(PasswordTextbox.Text, _
QuestionTextbox.Text, _
AnswerTextbox.Text)
If (result = True) Then
Msg.Text = "Password Question and Answer changed."
Else
Msg.Text = "Password Question and Answer change failed."
End If
Catch e As Exception
Msg.Text = "Change failed. Please re-enter your values and try again."
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Change Password Question and Answer</title>
</head>
<body>
<form id="form1" runat="server">
<h3>
Change Password Question and Answer for
<%=User.Identity.Name%>
</h3>
<asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br />
<table cellpadding="3" border="0">
<tr>
<td>
Password:</td>
<td>
<asp:TextBox ID="PasswordTextbox" runat="server" TextMode="Password" /></td>
<td>
<asp:RequiredFieldValidator ID="OldPasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox"
ForeColor="red" Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td>
New Password Question:</td>
<td>
<asp:TextBox ID="QuestionTextbox" MaxLength="256" Columns="60" runat="server" /></td>
<td>
<asp:RequiredFieldValidator ID="QuestionRequiredValidator" runat="server" ControlToValidate="QuestionTextbox"
ForeColor="red" Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td>
New Password Answer:</td>
<td>
<asp:TextBox ID="AnswerTextbox" MaxLength="128" Columns="60" runat="server" /></td>
<td>
<asp:RequiredFieldValidator ID="AnswerRequiredValidator" runat="server" ControlToValidate="AnswerTextbox"
ForeColor="red" Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td>
</td>
<td>
<asp:Button ID="ChangePasswordQuestionButton" Text="Change Password Question and Answer"
OnClick="ChangePasswordQuestion_OnClick" runat="server" /></td>
</tr>
</table>
</form>
</body>
</html>
Uwagi
ChangePasswordQuestionAndAnswer ChangePasswordQuestionAndAnswer wywołuje metodę dostawcy członkostwa, ProviderName do której odwołuje się właściwość , aby zaktualizować pytanie o hasło i odpowiedzieć użytkownikowi członkostwa w magazynie danych członkostwa.
Dostawca członkostwa może mieć ograniczenia dotyczące rozmiaru pytania i odpowiedzi na hasło. Aby uzyskać informacje o ograniczeniach rozmiaru, zobacz dokumentację dostawcy członkostwa.