Custom membership provider: Choose the provider options
Following are three examples describing when to use which provider. Note that every use case has its own special requirements in terms of security, databases, platforms, etc.
You have a custom database, which is already utilizing the SqlMembershipProvider functionality. In this case, you can add a new provider to your provider’s collection inside your Sitefinity CMS instance, and point to this database. After that, the provider is fully functional.
In this case, you are implementing an SqlMembershipProvider.
You have an existing application, which has its own security mechanism, such as a CRM system, a PHP/MySQL web application, or a REST WebAPI that is used for authenticating customers.
If you want, for example, to let customers login to a specific part of your website, perform the following:
- Create a custom Membership Provider that provides functionality to authenticate users against an external system.
- Configure a public login page where the users can login to the secured environment.
In this case, you are implementing a custom MembershipProvider.
You want all the functionality described in Case 2 above, but you also want to add the following:
- The ability to manage external users from the Sitefinity CMS backend.
- The ability to add the external users to a Sitefinity CMS role or apply permissions to individual users, so that they can access particular pages or content.
In this case, you are implementing a custom Membership Provider, which inherits the MembershipDataProvider class that comes with Sitefinity.