The provider model in ASP.NET 2.0 provides extensibility points for developers to plug their own implementation of a feature into the runtime. Both the membership and role features in ASP.NET 2.0 follow the provider pattern by specifying an interface, or contract. The provider model begins with the abstract class ProviderBase.
ASP.NET 2.0's provider model allows developers to customize functionality by implementing their own versions of features.  The membership and role features in ASP.NET 2.0 follow this pattern by defining an interface, or contract, that outlines how these features should work. The ProviderBase class is the starting point for building providers.