From b499b45a5cbecf08e4bb901b0124bed57cd63275 Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 19 Apr 2017 16:09:59 +1000 Subject: [PATCH] fixes test --- src/Umbraco.Core/Security/MembershipProviderBase.cs | 4 +++- src/Umbraco.Core/Security/MembershipProviderExtensions.cs | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Core/Security/MembershipProviderBase.cs b/src/Umbraco.Core/Security/MembershipProviderBase.cs index efee6f4893..4d4dad3fe8 100644 --- a/src/Umbraco.Core/Security/MembershipProviderBase.cs +++ b/src/Umbraco.Core/Security/MembershipProviderBase.cs @@ -521,7 +521,9 @@ namespace Umbraco.Core.Security public override string ResetPassword(string username, string answer) { - var canReset = this.CanResetPassword(ApplicationContext.Current.Services.UserService); + var userService = ApplicationContext.Current == null ? null : ApplicationContext.Current.Services.UserService; + + var canReset = this.CanResetPassword(userService); if (canReset == false) { diff --git a/src/Umbraco.Core/Security/MembershipProviderExtensions.cs b/src/Umbraco.Core/Security/MembershipProviderExtensions.cs index ebd42bd781..645de22ab8 100644 --- a/src/Umbraco.Core/Security/MembershipProviderExtensions.cs +++ b/src/Umbraco.Core/Security/MembershipProviderExtensions.cs @@ -26,10 +26,11 @@ namespace Umbraco.Core.Security internal static bool CanResetPassword(this MembershipProvider provider, IUserService userService) { if (provider == null) throw new ArgumentNullException("provider"); - if (userService == null) throw new ArgumentNullException("userService"); - + var canReset = provider.EnablePasswordReset; + if (userService == null) return canReset; + //we need to check for the special case in which a user is an admin - in which acse they can reset the password even if EnablePasswordReset == false if (provider.EnablePasswordReset == false) {