成员资格提供程序

更新:2007 年 11 月

通过使用提供程序模型,可轻松改写成员资格系统以使用不同的数据存储区或带有不同架构的数据存储区。此外,还可以通过创建自定义提供程序来扩展成员资格系统,这样做可以在成员资格系统与现有用户数据库之间创建一个接口。

分层的成员资格模型有一个重要特点,就是使用成员资格系统的应用程序不会绑定到某个特定的数据存储区。如有必要,只需简单地将应用程序配置为使用不同的成员资格提供程序,便可在应用程序中切换基础的成员资格数据存储区,而无需更改任何应用程序代码。(当然,如果可行的话,也可通过迁移任何现有用户信息。)例如,如果已有一个包含用户信息的数据库,则可编写一个提供程序来使用这些数据,然后成员资格 API 便可调用该提供程序来执行成员资格任务。

ASP.NET 附带有两个成员资格提供程序:一个使用 Microsoft SQL Server 作为数据源,而另一个使用 Windows Active Directory。第三方可能会开发一些其他的成员资格提供程序,用于其他数据库(如 Oracle)或用于其架构不同于 ASP.NET 提供程序所使用的架构的 SQL Server 数据库。

还可以配置多个成员资格提供程序,使您可以在运行时基于应用程序的要求来选择一个成员资格提供程序。例如,出于业务的原因,您的成员资格信息可能分散于各个区域数据库中。通过配置多个成员资格提供程序,让每个成员资格提供程序与一个不同的区域数据库进行交互,这样就可以针对不同的用户将成员资格调用定向到合适的提供程序。

自定义成员资格提供程序

还可以创建自定义成员资格提供程序,这样做可以将成员资格系统链接到现有的用户数据,连接到 ASP.NET 提供的提供程序所不支持的数据库,或扩展成员资格以公开更多功能。

有了自定义成员资格提供程序之后,您可以配置应用程序来使用自定义提供程序,其方法与配置应用程序使用 ASP.NET 提供程序相同。Membership 类将自动调用自定义提供程序来与您的身份验证数据源进行通信。

有关创建自定义成员资格提供程序的详细信息,请参见实现成员资格提供程序。另请参见示例成员资格提供程序实现

请参见

其他资源

使用成员资格管理用户