diff --git a/src/Umbraco.Web/MembershipProviderExtensions.cs b/src/Umbraco.Web/MembershipProviderExtensions.cs
index b0fc939480..49d8abca7f 100644
--- a/src/Umbraco.Web/MembershipProviderExtensions.cs
+++ b/src/Umbraco.Web/MembershipProviderExtensions.cs
@@ -1,9 +1,6 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System.Collections.Generic;
using System.Web.Security;
+using Umbraco.Core.Models;
using Umbraco.Core.Security;
namespace Umbraco.Web
@@ -23,7 +20,7 @@ namespace Umbraco.Web
return new Dictionary
{
{"minPasswordLength", membershipProvider.MinRequiredPasswordLength},
- {"enableReset", membershipProvider.EnablePasswordReset},
+ {"enableReset", UmbracoContext.Current.Security.CurrentUser.IsAdmin()},
{"enablePasswordRetrieval", membershipProvider.EnablePasswordRetrieval},
{"requiresQuestionAnswer", membershipProvider.RequiresQuestionAndAnswer},
{"allowManuallyChangingPassword", baseProvider != null && baseProvider.AllowManuallyChangingPassword}
diff --git a/src/Umbraco.Web/Security/MembershipHelper.cs b/src/Umbraco.Web/Security/MembershipHelper.cs
index 158910a794..c82d8411ad 100644
--- a/src/Umbraco.Web/Security/MembershipHelper.cs
+++ b/src/Umbraco.Web/Security/MembershipHelper.cs
@@ -663,7 +663,8 @@ namespace Umbraco.Web.Security
//Are we resetting the password??
if (passwordModel.Reset.HasValue && passwordModel.Reset.Value)
{
- if (membershipProvider.EnablePasswordReset == false)
+ var userIsAdmin = UmbracoContext.Current.Security.CurrentUser.IsAdmin();
+ if (userIsAdmin == false && membershipProvider.EnablePasswordReset == false)
{
return Attempt.Fail(new PasswordChangedModel { ChangeError = new ValidationResult("Password reset is not enabled", new[] { "resetPassword" }) });
}