0

我想通过调用ChangePasswordQuestionAndAnswer方法来更改用户的密码问答

MembershipUser user = Membership.GetUser(userName);
string password = user.GetPassword(); // error here
string sQuestion = DropDownList1.SelectedValue.ToString();
string sAnswer = txtAnswer.Text.ToString();
user.ChangePasswordQuestionAndAnswer(password, sQuestion, sAnswer);

但我是管理员;我无法传递用户密码,因为我不知道。

4

1 回答 1

0

既然您已经要求用户输入数据,为什么不再次要求输入密码呢?然后您可以使用相同的代码,只需将密码设置为文本框的值。

string password = txtPassword.Text;

另一种方法是自动重置密码,然后要求用户将其更改为更好的密码选择:

MembershipUser user = Membership.GetUser(userName);
string password = user.ResetPassword();
string sQuestion = DropDownList1.SelectedValue.ToString();
string sAnswer = txtAnswer.Text.ToString();
user.ChangePasswordQuestionAndAnswer(password, sQuestion, sAnswer);

后者不是一个很好的解决方案,因为它需要在此代码之后执行其他步骤。

于 2012-04-13T15:46:18.340 回答