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.
Case 1
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 implement an SqlMembershipProvider.
Case 2
You have an existing application, which has its own security mechanism, such as a CRM system, a PHP 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 implement a custom Membership Provider.
Case 3
You want all the functionality described in Case 2 above, but you also want to add the following:
- The option to manage external users from the Sitefinity CMS backend.
- The option 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 implement a custom Membership Provider, which inherits the MembershipDataProvider
class that comes with Sitefinity.