Cannot delete user: Error pertains to OPENACCESSMEMBERSHIP37PROVIDER
We have a Sitefinity 5.4 site that was upgraded from 3.7. I have added a new user (which I assume uses the default provider rather than the OpenAccessMembership37Provider). When I try to delete that user, I get the following error:
There is no configuration for data provider with the name of
"OPENACCESSMEMBERSHIP37PROVIDER" for "Telerik.Sitefinity.Security.UserManager"
manager. Please check the spelling of the name and whether such configuration
exists.
In the security section of advanced settings, I see no entry for this provider. In two other 5.4 sites (also upgraded from 3.7), I do see this provider. When I try to add the provider, I get the message that there is already a provider with that key.
It appears that the site I'm working on has somehow been corrupted. Is there some way to fix this? We have a lot of customization that would be tedious to redo if we have to migrate again.
Thanks.
Kent
Here's some additional information to add to the mix. None of my migrated users (from the old 3.7 system) are showing up in the migrated (5.4) system. So, it seems that somehow the OpenAccessMembership37Provider has gotten messed up and can't deal with those users either.
Just adding more information for the record in case the Telerik folks ever get around to looking at this...
If I add a user via the API using the following code:
var userManager = UserManager.GetManager("Default");
System.Web.Security.MembershipCreateStatus status;
userManager.Provider.SuppressSecurityChecks = true;
var user = userManager.CreateUser("b_smith", "bsmith", "b_smith@test.com", "Question", "Answer", true, null, out status);
user.FirstName = "Bill";
user.LastName = "Smith";
userManager.SaveChanges();
then I can delete the user from the users management page in the backend with no trouble. But if I ad the user via the backend, I cannot delete them and get the error shown above.
Something tells me that adding a user via the API is different than through the backend. Any thoughts on this would be appreciated.
I resolved the issue noted above. In doing a fairly exhaustive walkthrough of two other sites that had been converted from 3.7 to 5.4, I discovered that the Migration module for the site in question had been deactivated. This obviously affects membership and security providers in some fashion because simply reactivating Migration caused the issues to go away. I feel this is definitely a bug of some kind because I should be able to turn off the Migration module after I've migrated.
Also, I was correct that the API can function differently, but it's only because certain items in the user are deprecated but still usable (first and last name being the most apparent). Obviously deprecating is a better choice than removing, but it does cause some confusion when looking at older code samples.
Kent
Hi,
The API used in sitefinity 3.x versions is no longer usable in sitefinity 4 and above versions because of the big architectural change in the CMS, for the current API samples refer to this documentation section, the old API methods are not longer supported because of the big difference between sitefinity 3 and sitefinity 4 and upper versions.
Regards,
Stanislav Velikov
Telerik