ASP.NET 2.0 membership provider have been for more than 2 years and initially, I thought it’s just a show off feature of ASP.NET 2.0 and that would not be practically useful before I explored it into detail.
From time to time, every asp.net web application requires membership, authentication, authorization, etc, it’s a waste of time that we don’t have reusable model for those even though every web application requires those functions. So, I started exploring what’s available in built in ASP.NET Microsoft model and how others people do in terms of reusable model or provider for this.
Then, I found out that ASP.NET membership is really good design even though it may not be 100% perfect. It's really customizable, robust, extendable, easily pluggable and also easier to integrate into the project without much efforts. I’m not sure whether it’s good enough for enterprise level website for millions of users but it’s pretty good enough for SME or normal web application.
This really saves 20% to 30 % of small and medium side web application development and the code is modular and reusable. I really loves it.
This can be easily integrated with Menu SiteMap navigation based on dynamic user roles, User Roles provider, Personalization and the provider can be plugged & play with custom own provider by just configuring in web.config.
Currently, I'm just using built in SqlMembershipProvider and I handle my own Users information table for extended fields of users. The drawback with this is I need to duplicate user record in my own user table whenever new record in membership table is created.
You can also create your own custom membership provider by deriving from MembershipProvider class and override methods.
Microsoft also provides the source code and it can be learned how their code is. By learning this, you can probably design better than what it has and which suits to your requirement as well.
The following links would be useful for getting started.
http://weblogs.asp.net/scottgu/archive/2006/02/24/ASP.NET-2.0-Membership_2C00_-Roles_2C00_-Forms-Authentication_2C00_-and-Security-Resources-.aspx
Providers Source code download
http://weblogs.asp.net/scottgu/archive/2006/04/13/442772.aspx
http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi
ASP.NET Provider Detail Explanation
http://msdn.microsoft.com/en-us/library/aa478948.aspx
ASP.NET Provider book
http://download.microsoft.com/download/d/d/b/ddb5a94d-b398-44b5-bbb9-a71808879d79/Microsoft%20ASP.NET%20Providers.pdf