C# MembershipService.ChangePassword不';t更改密码问题
C# MembershipService.ChangePassword不';t更改密码问题,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,MembershipService.ChangePassword不会更改密码问题。我不知道为什么 var userUsers = from n in db.aspnet_Users where n.UserId == id select n; string userName = userUsers.Single<aspnet_Users>().UserName; MembershipUser user = Member
MembershipService.ChangePassword
不会更改密码问题。我不知道为什么
var userUsers = from n in db.aspnet_Users where n.UserId == id select n;
string userName = userUsers.Single<aspnet_Users>().UserName;
MembershipUser user = Membership.GetUser(userName, false);
if (user != null)
{
string generatedPassword = user.ResetPassword();
if (MembershipService.ChangePassword(userName, generatedPassword, model.NewPassword))
{
// So it doesn't change the password
var userUsers=from n在db.aspnet\u Users中,其中n.UserId==id选择n;
字符串userName=useruserusers.Single().userName;
MembershipUser=Membership.GetUser(用户名,false);
如果(用户!=null)
{
字符串generatedPassword=user.ResetPassword();
if(MembershipService.ChangePassword(用户名、生成密码、型号.新密码))
{
//所以它不会更改密码
在文档中签出:
如果密码更新成功,则ChangePassword返回true
。
否则,它将返回false
更改密码之前,ChangePassword
调用提供程序的overridableOnValidatingPassword
方法来验证新密码。然后,根据调用结果更改密码或取消操作
如果用户名、密码、新密码或密码答案不正确
有效,ChangePassword
不会引发异常;它只是返回
错
成功更改密码后,ChangePassword
更新用户的LastPasswordChangedDate
有一次,当我遇到完全相同的问题时,这帮了我的忙。密码无效,因此该方法从未实际更改过密码。我在web.config
文件中更改了一些密码配置,然后它终于工作了
检查web.config的以下行,这可能是问题所在:
<membership defaultProvider="Demo_MemberShipProvider">
<providers>
<add name="Demo_MemberShipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="cnn"
enablePasswordRetrieval="false"
**enablePasswordReset="true"**
**requiresQuestionAndAnswer="true"**
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
**minRequiredPasswordLength="5"**
**minRequiredNonalphanumericCharacters="0"**
passwordAttemptWindow="10" passwordStrengthRegularExpression="">
</providers>
</membership>
希望有帮助!您是否在
if(user!=null)
行上放置了一个断点以检查用户是否真的被选中?您是否收到任何错误或密码没有更改?您是否在操作后调用了db.SaveChanges();
?@rcdmk我是否使用了db.SaveChanges()after MembershipService.ChangePassword?否。只有当您将密码存储在数据库中或对其进行了一些更改时,才可以使用。我只是在猜测可能的错误,因为我不知道其余的代码。您是否有此方法中的任何其他相关代码?您是否仍有在web.config
中更改的此配置设置?如果有,您可以将其发布到你的答案是什么?