在 asp.net 中重置用户的安全信息(Q&A)

本文关键字:amp 信息 安全 net asp 用户 | 更新日期: 2023-09-27 18:31:06

我想通过调用方法更改用户的密码问题和答案 更改密码问题和答案

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);

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

在 asp.net 中重置用户的安全信息(Q&A)

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

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);

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