MembershipUser.ChangePasswordQuestionAndAnswer(String, String, String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обновляет вопрос для проверки пароля авторизованного пользователя и ответ на него в хранилище данных членства.
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
Параметры
- password
- String
Текущий пароль авторизованного пользователя.
- newPasswordQuestion
- String
Новый проверочный вопрос для авторизованного пользователя.
- newPasswordAnswer
- String
Ответ на новый проверочный вопрос для авторизованного пользователя.
Возвращаемое значение
Значение true
, если обновление выполнено успешно; в противном случае значение false
.
Исключения
Параметр password
равен пустой строке.
-или-
Параметр newPasswordQuestion
равен пустой строке.
-или-
Параметр newPasswordAnswer
равен пустой строке.
password
имеет значение null
.
Этот метод недоступен. Это может произойти, если приложение предназначено для клиентского профиля .NET Framework 4. Чтобы предотвратить это исключение, переопределите метод или измените целевую платформу приложения на полную версию платформы .NET Framework.
Примеры
В следующем примере кода обновляется вопрос о пароле и ответ для текущего пользователя, выполнившего вход.
Важно!
В этом примере содержится текстовое поле, которое принимает введенные пользователем данные, что является потенциальной угрозой безопасности. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.
<%@ 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>
Комментарии
ChangePasswordQuestionAndAnswer ChangePasswordQuestionAndAnswer вызывает метод поставщика членства, на который ссылается ProviderName свойство , для обновления вопроса о пароле и ответа для пользователя членства в хранилище данных членства.
Поставщик членства может иметь ограничения на размер вопроса пароля и ответа. Ограничения размера см. в документации по поставщику членства.