From 1300389ce6bdcb829a0546e6e7480fb2286ff9fc Mon Sep 17 00:00:00 2001 From: SimonHilo <47662092+SimonHilo@users.noreply.github.com> Date: Mon, 18 Feb 2019 20:49:27 +0100 Subject: [PATCH] Skip the check for approved/locked out members if not using Umbracos built-in MembershipProvider (#4607) --- .../Routing/PublishedContentRequestEngine.cs | 41 +++++++++++-------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/src/Umbraco.Web/Routing/PublishedContentRequestEngine.cs b/src/Umbraco.Web/Routing/PublishedContentRequestEngine.cs index 0341c083f9..057da70c94 100644 --- a/src/Umbraco.Web/Routing/PublishedContentRequestEngine.cs +++ b/src/Umbraco.Web/Routing/PublishedContentRequestEngine.cs @@ -622,29 +622,36 @@ namespace Umbraco.Web.Routing } else { - // grab the current member - var member = membershipHelper.GetCurrentMember(); - // if the member has the "approved" and/or "locked out" properties, make sure they're correctly set before allowing access - var memberIsActive = true; - if (member != null) + if (membershipHelper.IsUmbracoMembershipProviderActive()) { - if (member.HasProperty(Constants.Conventions.Member.IsApproved) == false) - memberIsActive = member.GetPropertyValue(Constants.Conventions.Member.IsApproved); + // grab the current member + var member = membershipHelper.GetCurrentMember(); + // if the member has the "approved" and/or "locked out" properties, make sure they're correctly set before allowing access + var memberIsActive = true; + if (member != null) + { + if (member.HasProperty(Constants.Conventions.Member.IsApproved) == false) + memberIsActive = member.GetPropertyValue(Constants.Conventions.Member.IsApproved); - if (member.HasProperty(Constants.Conventions.Member.IsLockedOut) == false) - memberIsActive = member.GetPropertyValue(Constants.Conventions.Member.IsLockedOut) == false; - } + if (member.HasProperty(Constants.Conventions.Member.IsLockedOut) == false) + memberIsActive = member.GetPropertyValue(Constants.Conventions.Member.IsLockedOut) == false; + } - if (memberIsActive == false) - { - ProfilingLogger.Logger.Debug("{0}Current member is either unapproved or locked out, redirect to error page", () => tracePrefix); - var errorPageId = publicAccessAttempt.Result.NoAccessNodeId; - if (errorPageId != _pcr.PublishedContent.Id) - _pcr.PublishedContent = _routingContext.UmbracoContext.ContentCache.GetById(errorPageId); + if (memberIsActive == false) + { + ProfilingLogger.Logger.Debug("{0}Current member is either unapproved or locked out, redirect to error page", () => tracePrefix); + var errorPageId = publicAccessAttempt.Result.NoAccessNodeId; + if (errorPageId != _pcr.PublishedContent.Id) + _pcr.PublishedContent = _routingContext.UmbracoContext.ContentCache.GetById(errorPageId); + } + else + { + ProfilingLogger.Logger.Debug("{0}Current member has access", () => tracePrefix); + } } else { - ProfilingLogger.Logger.Debug("{0}Current member has access", () => tracePrefix); + ProfilingLogger.Logger.Debug("{0}Current custom MembershipProvider member has access", () => tracePrefix); } } }