Upgrade SF4 to 5. Checkout w CustomMembership. ID cannot be empty GUID.
After upgrading from SF4 to SF5 my Checkout control is giving me the error
ID cannot be empty GUID
It seems to be occurring at
Telerik.Sitefinity.Security.MembershipProviderWrapper.GetUser(Guid id) +502
CheckoutRequiresLogin is set true, and I am using a custom membership provider.
Hi,
It seems the checkout widget can`t get the user ID that is requesting the checkout to be executed. Can you give me additional information on the custom membership provider. Are the users from it added to a Sitefinity role that can perform checkout (have permissions for e-commerce)? Also can you try to find the user you try to checkout with and go to edit it in Administration->Users this way Sitefinity profile for sure will be created for this user.
Thank you.
Regards,
Grace Hallwachs
the Telerik team
I'm not logged in when I'm attempting to access the page with the checkout control. In SF4.4 it worked exactly as it should, and I was redirected to the page specified in the LoginUrl property of the checkout control. I also tried setting the permissions on the page itself to only authenticated users for view, but still no dice. I even tried to doing it with a fresh, non-upgraded install of SF5 and I still have the issue.
Below is the full stack trace; as you can see it is not getting past your MembershipProviderWrapper. This is a big issue for me; and I (removed my bitching just to *** from here).
[ArgumentException: ID cannot be empty GUID.]
Telerik.Sitefinity.Security.MembershipProviderWrapper.GetUser(Guid id) +502
Telerik.Sitefinity.Security.SecurityManager.GetUser(Guid id, String& provider) +374
Telerik.Sitefinity.Security.SecurityManager.GetUser(Guid id) +54
Telerik.Sitefinity.Modules.Ecommerce.Orders.Web.UI.Checkout.InitializeControls(GenericContainer container) +591
Telerik.Sitefinity.Web.UI.SimpleView.CreateChildControls() +82
System.Web.UI.Control.EnsureChildControls() +182
System.Web.UI.Control.PreRenderRecursiveInternal() +60
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Control.PreRenderRecursiveInternal() +222
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4201
I've verified that in 4.4 I do no have this issue, but in 5 I do. My guess it has something to do with a difference in what is an anonymous user between the 2 versions. (This is still Joe. Too many Telerik accounts...)
Hi,
Please refer to the support ticket associated with this issue for further information.
Thank you again.
Kind regards,
Grace Hallwachs
the Telerik team