HotcakesCommerce / hotcakes-commerce-core

The core of the e-commerce part of the overall solution. This is an ecommerce shopping cart solution built on top of the DNN (DotNetNuke) CMS. Anyone can do commerce online now!
https://mmmcommerce.com
MIT License
69 stars 55 forks source link

SI: Incompatible with Some Membership Providers #203

Open WillStrohl opened 5 years ago

WillStrohl commented 5 years ago

Describe the bug

Product/Category performance views throw YSOD when some membership providers are in use. All you need to do is attempt to load the page.

Software Versions

Error log

2019-06-15 21:31:37,817 [SERVERNAME][Thread:71][FATAL] DotNetNuke.Web.Common.Internal.DotNetNukeHttpApplication - System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Hotcakes.Commerce.Utilities.UrlRewriter.BuildUrlForProduct(Product p, Object additionalParams)
   at Hotcakes.Modules.Core.Admin.Catalog.Products_Performance.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
2019-06-15 21:31:46,208 [SERVERNAME][Thread:70][ERROR] DotNetNuke.Services.Exceptions.Exceptions - System.NullReferenceException: Object reference not set to an instance of an object.
   at DotNetNuke.Security.Roles.RoleController.DeleteUserRole(UserInfo objUser, RoleInfo role, PortalSettings portalSettings, Boolean notifyUser)
   at DotNetNuke.Provider.SFDCProvider.MembershipHelper.SetInitialRoles(UserInfo user)
WillStrohl commented 3 years ago

This may be caused by the provider itself not actually being built correctly. The provider in question was later updated to use a more correct namespace and it resolved other provider-related exceptions. If this doesn't get any additional comments, I'll close the issue.