diff --git a/src/Orchard/Security/Providers/FormsAuthenticationService.cs b/src/Orchard/Security/Providers/FormsAuthenticationService.cs index d73469673..42ed95240 100644 --- a/src/Orchard/Security/Providers/FormsAuthenticationService.cs +++ b/src/Orchard/Security/Providers/FormsAuthenticationService.cs @@ -65,6 +65,7 @@ namespace Orchard.Security.Providers { int userId; if (!int.TryParse(userData, out userId)) { Logger.Fatal("User id not a parsable integer"); + return null; } return _modelManager.Get(userId).As(); } diff --git a/src/Orchard/Security/Providers/OrchardMembershipProvider.cs b/src/Orchard/Security/Providers/OrchardMembershipProvider.cs index 5ab60414b..2ddc1071f 100644 --- a/src/Orchard/Security/Providers/OrchardMembershipProvider.cs +++ b/src/Orchard/Security/Providers/OrchardMembershipProvider.cs @@ -51,7 +51,11 @@ namespace Orchard.Security.Providers { } public override bool ChangePassword(string username, string oldPassword, string newPassword) { - throw new NotImplementedException(); + var service = GetService(); + var user = service.ValidateUser(username, oldPassword); + if (user == null) + return false; + service.SetPassword(user, newPassword); } public override string ResetPassword(string username, string answer) {