c# – 在ASP.NET Membership中,为什么resetPassword会导致“指定
|
使用System.Web.Security;
我在MVC4中创建了一个resetPassword表单: using System.Web.Security;
[HttpPost]
[AllowAnonymous]
public ActionResult ResetPassword(ResetPasswordModel model)
{
MembershipUser u = Membership.GetUser(model.Username);
if (HashResetParams(u.UserName,u.ProviderUserKey.ToString()) == model.Key)
{
string resetCode = u.ResetPassword();
u.ChangePassword(resetCode,model.Password);
}
return View("ChangePasswordSuccess");
}
知道为什么我点击线路时出现“ResetPassword-指定的方法不支持”错误: string resetCode = u.ResetPassword(); 我想知道它是否与MVC4项目默认使用SimpleMembership实现有关. 另外,我已经看到了如何在ASP.NET成员资格中重置密码的各种方法,也许有更好的方法? 解决方法
如果您使用的是
SimpleMembershipProvider,那么是:
另一种方法是使用SqlMembershipProvider 你应该在你的web.config中有类似的东西: <membership defaultProvider="SqlProvider"
userIsOnlineTimeWindow="15">
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
applicationName="MyApplication"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
passwordAttemptWindow="10" />
</providers>
</membership>
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
