Removed MembershipHelper from UmbracoHelper

This commit is contained in:
Bjarke Berg
2020-02-27 09:56:35 +01:00
parent 8d76499969
commit 8e3cb8f3e6
15 changed files with 42 additions and 191 deletions
@@ -156,14 +156,12 @@ namespace Umbraco.Tests.Routing
var handler = new RenderRouteHandler(umbracoContext, new TestControllerFactory(umbracoContextAccessor, Mock.Of<ILogger>(), context =>
{
var membershipHelper = new MembershipHelper(
httpContextAccessor, Mock.Of<IPublishedMemberCache>(), Mock.Of<MembersMembershipProvider>(), Mock.Of<RoleProvider>(), Mock.Of<IMemberService>(), Mock.Of<IMemberTypeService>(), Mock.Of<IPublicAccessService>(), AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper, Mock.Of<IEntityService>());
return new CustomDocumentController(Factory.GetInstance<IGlobalSettings>(),
return new CustomDocumentController(Factory.GetInstance<IGlobalSettings>(),
umbracoContextAccessor,
Factory.GetInstance<ServiceContext>(),
Factory.GetInstance<AppCaches>(),
Factory.GetInstance<IProfilingLogger>(),
new UmbracoHelper(Mock.Of<IPublishedContent>(), Mock.Of<ITagQuery>(), Mock.Of<ICultureDictionaryFactory>(), Mock.Of<IUmbracoComponentRenderer>(), Mock.Of<IPublishedContentQuery>(), membershipHelper));
new UmbracoHelper(Mock.Of<IPublishedContent>(), Mock.Of<ITagQuery>(), Mock.Of<ICultureDictionaryFactory>(), Mock.Of<IUmbracoComponentRenderer>(), Mock.Of<IPublishedContentQuery>()));
}), ShortStringHelper);
handler.GetHandlerForRoute(httpContext.Request.RequestContext, frequest);
@@ -154,14 +154,11 @@ namespace Umbraco.Tests.TestHelpers.ControllerTesting
urlHelper.Setup(provider => provider.GetUrl(It.IsAny<IPublishedContent>(), It.IsAny<UrlMode>(), It.IsAny<string>(), It.IsAny<Uri>()))
.Returns(UrlInfo.Url("/hello/world/1234"));
var membershipHelper = new MembershipHelper(httpContextAccessor, Mock.Of<IPublishedMemberCache>(), Mock.Of<MembersMembershipProvider>(), Mock.Of<RoleProvider>(), Mock.Of<IMemberService>(), Mock.Of<IMemberTypeService>(), Mock.Of<IPublicAccessService>(), AppCaches.Disabled, Mock.Of<ILogger>(), new MockShortStringHelper(), Mock.Of<IEntityService>());
var umbHelper = new UmbracoHelper(Mock.Of<IPublishedContent>(),
Mock.Of<ITagQuery>(),
Mock.Of<ICultureDictionaryFactory>(),
Mock.Of<IUmbracoComponentRenderer>(),
Mock.Of<IPublishedContentQuery>(),
membershipHelper);
Mock.Of<IPublishedContentQuery>());
return CreateController(controllerType, request, umbracoContextAccessor, umbHelper);
}
@@ -69,8 +69,7 @@ namespace Umbraco.Tests.Testing.TestingTests
Mock.Of<ITagQuery>(),
Mock.Of<ICultureDictionaryFactory>(),
Mock.Of<IUmbracoComponentRenderer>(),
Mock.Of<IPublishedContentQuery>(),
new MembershipHelper(Mock.Of<IHttpContextAccessor>(), Mock.Of<IPublishedMemberCache>(), Mock.Of<MembersMembershipProvider>(), Mock.Of<RoleProvider>(), Mock.Of<IMemberService>(), Mock.Of<IMemberTypeService>(), Mock.Of<IPublicAccessService>(), AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper, Mock.Of<IEntityService>()));
Mock.Of<IPublishedContentQuery>());
Assert.Pass();
}
@@ -107,7 +106,8 @@ namespace Umbraco.Tests.Testing.TestingTests
var memberTypeService = Mock.Of<IMemberTypeService>();
var membershipProvider = new MembersMembershipProvider(memberService, memberTypeService, Mock.Of<IUmbracoVersion>(), TestHelper.GetHostingEnvironment(), TestHelper.GetIpResolver());
var membershipHelper = new MembershipHelper(Mock.Of<IHttpContextAccessor>(), Mock.Of<IPublishedMemberCache>(), membershipProvider, Mock.Of<RoleProvider>(), memberService, memberTypeService, Mock.Of<IPublicAccessService>(), AppCaches.Disabled, logger, ShortStringHelper, Mock.Of<IEntityService>());
var umbracoHelper = new UmbracoHelper(Mock.Of<IPublishedContent>(), Mock.Of<ITagQuery>(), Mock.Of<ICultureDictionaryFactory>(), Mock.Of<IUmbracoComponentRenderer>(), Mock.Of<IPublishedContentQuery>(), membershipHelper);
var umbracoHelper = new UmbracoHelper(Mock.Of<IPublishedContent>(), Mock.Of<ITagQuery>(), Mock.Of<ICultureDictionaryFactory>(),
Mock.Of<IUmbracoComponentRenderer>(), Mock.Of<IPublishedContentQuery>());
var umbracoMapper = new UmbracoMapper(new MapDefinitionCollection(new[] { Mock.Of<IMapDefinition>() }));
var umbracoApiController = new FakeUmbracoApiController(Mock.Of<IGlobalSettings>(), Mock.Of<IUmbracoContextAccessor>(), Mock.Of<ISqlContext>(), ServiceContext.CreatePartial(), AppCaches.NoCache, logger, Mock.Of<IRuntimeState>(), umbracoHelper, umbracoMapper, Mock.Of<IPublishedUrlProvider>());
@@ -123,8 +123,7 @@ namespace Umbraco.Tests.Web.Mvc
Mock.Of<ITagQuery>(),
Mock.Of<ICultureDictionaryFactory>(),
Mock.Of<IUmbracoComponentRenderer>(),
Mock.Of<IPublishedContentQuery>(query => query.Content(2) == content.Object),
new MembershipHelper(Mock.Of<IHttpContextAccessor>(), Mock.Of<IPublishedMemberCache>(), Mock.Of<MembersMembershipProvider>(), Mock.Of<RoleProvider>(), Mock.Of<IMemberService>(), Mock.Of<IMemberTypeService>(), Mock.Of<IPublicAccessService>(), AppCaches.Disabled, Mock.Of<ILogger>(), ShortStringHelper, Mock.Of<IEntityService>()));
Mock.Of<IPublishedContentQuery>(query => query.Content(2) == content.Object));
var ctrl = new TestSurfaceController(umbracoContextAccessor, helper);
var result = ctrl.GetContent(2) as PublishedContentResult;
@@ -6,18 +6,24 @@ using Umbraco.Core.Cache;
using Umbraco.Core.Logging;
using Umbraco.Core.Persistence;
using Umbraco.Core.Services;
using Umbraco.Web.Security;
namespace Umbraco.Web.Controllers
{
public class UmbLoginController : SurfaceController
{
private readonly MembershipHelper _membershipHelper;
public UmbLoginController()
{
}
public UmbLoginController(IUmbracoContextAccessor umbracoContextAccessor, IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
public UmbLoginController(IUmbracoContextAccessor umbracoContextAccessor, IUmbracoDatabaseFactory databaseFactory,
ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper,
MembershipHelper membershipHelper)
: base(umbracoContextAccessor, databaseFactory, services, appCaches, logger, profilingLogger, umbracoHelper)
{
_membershipHelper = membershipHelper;
}
[HttpPost]
@@ -30,7 +36,7 @@ namespace Umbraco.Web.Controllers
return CurrentUmbracoPage();
}
if (Members.Login(model.Username, model.Password) == false)
if (_membershipHelper.Login(model.Username, model.Password) == false)
{
//don't add a field level error, just model level
ModelState.AddModelError("loginModel", "Invalid username or password");
@@ -7,19 +7,25 @@ using Umbraco.Core.Cache;
using Umbraco.Core.Logging;
using Umbraco.Core.Persistence;
using Umbraco.Core.Services;
using Umbraco.Web.Security;
namespace Umbraco.Web.Controllers
{
[MemberAuthorize]
public class UmbLoginStatusController : SurfaceController
{
private readonly MembershipHelper _membershipHelper;
public UmbLoginStatusController()
{
}
public UmbLoginStatusController(IUmbracoContextAccessor umbracoContextAccessor, IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
public UmbLoginStatusController(IUmbracoContextAccessor umbracoContextAccessor,
IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches appCaches, ILogger logger,
IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper, MembershipHelper membershipHelper)
: base(umbracoContextAccessor, databaseFactory, services, appCaches, logger, profilingLogger, umbracoHelper)
{
_membershipHelper = membershipHelper;
}
[HttpPost]
@@ -32,7 +38,7 @@ namespace Umbraco.Web.Controllers
return CurrentUmbracoPage();
}
if (Members.IsLoggedIn())
if (_membershipHelper.IsLoggedIn())
{
FormsAuthentication.SignOut();
}
@@ -15,12 +15,18 @@ namespace Umbraco.Web.Controllers
[MemberAuthorize]
public class UmbProfileController : SurfaceController
{
private readonly MembershipHelper _membershipHelper;
public UmbProfileController()
{ }
public UmbProfileController(IUmbracoContextAccessor umbracoContextAccessor, IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
public UmbProfileController(IUmbracoContextAccessor umbracoContextAccessor, IUmbracoDatabaseFactory databaseFactory,
ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger,
UmbracoHelper umbracoHelper, MembershipHelper membershipHelper)
: base(umbracoContextAccessor, databaseFactory, services, appCaches, logger, profilingLogger, umbracoHelper)
{ }
{
_membershipHelper = membershipHelper;
}
[HttpPost]
[ValidateAntiForgeryToken]
@@ -32,7 +38,7 @@ namespace Umbraco.Web.Controllers
return CurrentUmbracoPage();
}
var updateAttempt = Members.UpdateMemberProfile(model);
var updateAttempt = _membershipHelper.UpdateMemberProfile(model);
if (updateAttempt.Success == false)
{
//don't add a field level error, just model level
@@ -8,18 +8,24 @@ using Umbraco.Core.Persistence;
using Umbraco.Core.Services;
using Umbraco.Web.Models;
using Umbraco.Web.Mvc;
using Umbraco.Web.Security;
namespace Umbraco.Web.Controllers
{
public class UmbRegisterController : SurfaceController
{
private readonly MembershipHelper _membershipHelper;
public UmbRegisterController()
{
}
public UmbRegisterController(IUmbracoContextAccessor umbracoContextAccessor, IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches appCaches, ILogger logger, IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper)
public UmbRegisterController(IUmbracoContextAccessor umbracoContextAccessor,
IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches appCaches, ILogger logger,
IProfilingLogger profilingLogger, UmbracoHelper umbracoHelper, MembershipHelper membershipHelper)
: base(umbracoContextAccessor, databaseFactory, services, appCaches, logger, profilingLogger, umbracoHelper)
{
_membershipHelper = membershipHelper;
}
[HttpPost]
@@ -40,7 +46,7 @@ namespace Umbraco.Web.Controllers
}
MembershipCreateStatus status;
var member = Members.RegisterMember(model, out status, model.LoginOnSuccess);
var member = _membershipHelper.RegisterMember(model, out status, model.LoginOnSuccess);
switch (status)
{
-5
View File
@@ -59,11 +59,6 @@ namespace Umbraco.Web.Mvc
/// </summary>
public IProfilingLogger ProfilingLogger { get; }
/// <summary>
/// Gets the membership helper.
/// </summary>
public MembershipHelper Members => Umbraco.MembershipHelper;
/// <summary>
/// Gets the Umbraco helper.
/// </summary>
-5
View File
@@ -57,11 +57,6 @@ namespace Umbraco.Web.Mvc
protected IOwinContext OwinContext => Request.GetOwinContext();
/// <summary>
/// Gets the membership helper.
/// </summary>
public MembershipHelper Members => Umbraco.MembershipHelper;
/// <summary>
/// Gets the Umbraco helper.
/// </summary>
@@ -101,11 +101,6 @@ namespace Umbraco.Web.Mvc
}
}
/// <summary>
/// Gets the membership helper.
/// </summary>
public MembershipHelper Members => Umbraco.MembershipHelper;
protected UmbracoViewPage()
: this(
Current.Factory.GetInstance<ServiceContext>(),
@@ -131,8 +131,7 @@ namespace Umbraco.Web.Runtime
var umbCtx = factory.GetInstance<IUmbracoContext>();
return new UmbracoHelper(umbCtx.IsFrontEndUmbracoRequest ? umbCtx.PublishedRequest?.PublishedContent : null,
factory.GetInstance<ITagQuery>(), factory.GetInstance<ICultureDictionaryFactory>(),
factory.GetInstance<IUmbracoComponentRenderer>(), factory.GetInstance<IPublishedContentQuery>(),
factory.GetInstance<MembershipHelper>());
factory.GetInstance<IUmbracoComponentRenderer>(), factory.GetInstance<IPublishedContentQuery>());
});
else
composition.Register(_ => new UmbracoHelper());
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Security;
using Umbraco.Core;
using Umbraco.Core.Logging;
+1 -146
View File
@@ -5,13 +5,10 @@ using System.Web;
using System.Xml.XPath;
using Umbraco.Core;
using Umbraco.Core.Dictionary;
using Umbraco.Core.Logging;
using Umbraco.Core.Models;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Core.Xml;
using Umbraco.Web.Composing;
using Umbraco.Web.Mvc;
using Umbraco.Web.Security;
namespace Umbraco.Web
{
@@ -25,7 +22,6 @@ namespace Umbraco.Web
{
private readonly IPublishedContentQuery _publishedContentQuery;
private readonly ITagQuery _tagQuery;
private readonly MembershipHelper _membershipHelper;
private readonly IUmbracoComponentRenderer _componentRenderer;
private readonly ICultureDictionaryFactory _cultureDictionaryFactory;
@@ -48,13 +44,11 @@ namespace Umbraco.Web
ITagQuery tagQuery,
ICultureDictionaryFactory cultureDictionary,
IUmbracoComponentRenderer componentRenderer,
IPublishedContentQuery publishedContentQuery,
MembershipHelper membershipHelper)
IPublishedContentQuery publishedContentQuery)
{
_tagQuery = tagQuery ?? throw new ArgumentNullException(nameof(tagQuery));
_cultureDictionaryFactory = cultureDictionary ?? throw new ArgumentNullException(nameof(cultureDictionary));
_componentRenderer = componentRenderer ?? throw new ArgumentNullException(nameof(componentRenderer));
_membershipHelper = membershipHelper ?? throw new ArgumentNullException(nameof(membershipHelper));
_publishedContentQuery = publishedContentQuery ?? throw new ArgumentNullException(nameof(publishedContentQuery));
_currentPage = currentPage;
}
@@ -84,11 +78,6 @@ namespace Umbraco.Web
/// </summary>
public IPublishedContentQuery ContentQuery => Ensure(_publishedContentQuery);
/// <summary>
/// Gets the membership helper.
/// </summary>
public MembershipHelper MembershipHelper => Ensure(_membershipHelper);
/// <summary>
/// Gets (or sets) the current <see cref="IPublishedContent"/> item assigned to the UmbracoHelper.
/// </summary>
@@ -208,141 +197,7 @@ namespace Umbraco.Web
#endregion
#region Membership
/// <summary>
/// Check if the current user has access to a document
/// </summary>
/// <param name="path">The full path of the document object to check</param>
/// <returns>True if the current user has access or if the current document isn't protected</returns>
public bool MemberHasAccess(string path)
{
return MembershipHelper.MemberHasAccess(path);
}
/// <summary>
/// Whether or not the current member is logged in (based on the membership provider)
/// </summary>
/// <returns>True is the current user is logged in</returns>
public bool MemberIsLoggedOn()
{
return MembershipHelper.IsLoggedIn();
}
#endregion
#region Member/Content/Media from Udi
public IPublishedContent PublishedContent(Udi udi)
{
var guidUdi = udi as GuidUdi;
if (guidUdi == null) return null;
var umbracoType = UdiEntityTypeHelper.ToUmbracoObjectType(udi.EntityType);
switch (umbracoType)
{
case UmbracoObjectTypes.Document:
return Content(guidUdi.Guid);
case UmbracoObjectTypes.Media:
return Media(guidUdi.Guid);
case UmbracoObjectTypes.Member:
return Member(guidUdi.Guid);
}
return null;
}
#endregion
#region Members
public IPublishedContent Member(Udi id)
{
var guidUdi = id as GuidUdi;
return guidUdi == null ? null : Member(guidUdi.Guid);
}
public IPublishedContent Member(Guid id)
{
return MembershipHelper.GetById(id);
}
public IPublishedContent Member(object id)
{
if (ConvertIdObjectToInt(id, out var intId))
return Member(intId);
if (ConvertIdObjectToGuid(id, out var guidId))
return Member(guidId);
if (ConvertIdObjectToUdi(id, out var udiId))
return Member(udiId);
return null;
}
public IPublishedContent Member(int id)
{
return MembershipHelper.GetById(id);
}
public IPublishedContent Member(string id)
{
var asInt = id.TryConvertTo<int>();
return asInt ? MembershipHelper.GetById(asInt.Result) : MembershipHelper.GetByProviderKey(id);
}
public IEnumerable<IPublishedContent> Members(IEnumerable<int> ids)
{
return MembershipHelper.GetByIds(ids);
}
public IEnumerable<IPublishedContent> Members(IEnumerable<string> ids)
{
return ids.Select(Member).WhereNotNull();
}
public IEnumerable<IPublishedContent> Members(IEnumerable<Guid> ids)
{
return MembershipHelper.GetByIds(ids);
}
public IEnumerable<IPublishedContent> Members(IEnumerable<Udi> ids)
{
return ids.Select(Member).WhereNotNull();
}
public IEnumerable<IPublishedContent> Members(IEnumerable<object> ids)
{
return ids.Select(Member).WhereNotNull();
}
public IEnumerable<IPublishedContent> Members(params int[] ids)
{
return ids.Select(Member).WhereNotNull();
}
public IEnumerable<IPublishedContent> Members(params string[] ids)
{
return ids.Select(Member).WhereNotNull();
}
public IEnumerable<IPublishedContent> Members(params Guid[] ids)
{
return MembershipHelper.GetByIds(ids);
}
public IEnumerable<IPublishedContent> Members(params Udi[] ids)
{
return ids.Select(Member).WhereNotNull();
}
public IEnumerable<IPublishedContent> Members(params object[] ids)
{
return ids.Select(Member).WhereNotNull();
}
#endregion
#region Content
@@ -120,11 +120,6 @@ namespace Umbraco.Web.WebApi
/// </summary>
protected Uri ApplicationUrl => RuntimeState.ApplicationUrl;
/// <summary>
/// Gets the membership helper.
/// </summary>
public MembershipHelper Members => Umbraco.MembershipHelper;
/// <summary>
/// Gets the Umbraco helper.
/// </summary>