The membership API is a framework based on top of the existing forms authentication infrastructure and by using it you don’t need to implement login pages or credential storage. The membership API framework provides you with a complete set of user management functions:
– You can create and delete users either programmatically or through the ASP.NET web configuration utility.
– You can reset passwords, with the possibility of automatically sending password reset e-mails to the users if an e-mail address is stored for the affected user.
– You can automatically generate passwords for users if these users are created programmatically in the background. These passwords can be sent to these users automatically if e-mail addresses are available for them.
– You can find users in the underlying data store as well as retrieve lists of users and details for every user. This is necessary for typical management tasks, such as assigning users to roles through a management user interface, or for simple things such as creating statistics about how many users are leveraging your website’s offerings.
– You can use a set of prebuilt controls for creating login pages and registration pages and for displaying login states and different views for authenticated and unauthenticated users.
– Framework provides a layer of abstraction for your application so that the application has no dependency on the underlying data store through membership provider classes. Any functionality listed until now therefore works completely independently from the underlying data store, and the data store can be replaced with other types of data stores without needing to modify the application at all. By default, the membership API leverages a SQL Server Express database for storing user and role information.
The next picture shows the fundamental architecture of the membership API, which consists of providers, an API, and controls for creating appropriate user interfaces: