diff --git a/src/Umbraco.Web/Security/MembershipHelper.cs b/src/Umbraco.Web/Security/MembershipHelper.cs index eeb9bad52b..598d7dbab9 100644 --- a/src/Umbraco.Web/Security/MembershipHelper.cs +++ b/src/Umbraco.Web/Security/MembershipHelper.cs @@ -647,10 +647,15 @@ namespace Umbraco.Web.Security var provider = _membershipProvider; string username; + if (provider.IsUmbracoMembershipProvider()) { var member = GetCurrentPersistedMember(); + // If a member could not be resolved from the provider, we are clearly not authorized and can break right here + if (member == null) + return false; username = member.Username; + // If types defined, check member is of one of those types var allowTypesList = allowTypes as IList ?? allowTypes.ToList(); if (allowTypesList.Any(allowType => allowType != string.Empty)) @@ -669,6 +674,9 @@ namespace Umbraco.Web.Security else { var member = provider.GetCurrentUser(); + // If a member could not be resolved from the provider, we are clearly not authorized and can break right here + if (member == null) + return false; username = member.UserName; }