学习Provider模型,并重写自定义的AccessMembershipProvider

1.学习资料
园子里的 李万宝 翻译的文章:
  介绍ASP.NET Provider模型,来自国外,单击此处下载源代码

第一部分:http://mqingqing123.cnblogs.com/archive/2006/05/06/392613.html
第二部分:http://mqingqing123.cnblogs.com/archive/2006/05/06/392667.html
第三部分:http://mqingqing123.cnblogs.com/archive/2006/05/09/394714.html
 

还有Ryu666's IT乐园ASP.NET2.0 Provider模型(上)——原理、模型与分析 
uGoerCommunity Server专题八:MemberRole之Membership 和
Community Server专题八:MemberRole之Membership深入篇

继续风之语 的揪出ASP.NET 2.0四大“插件”的总后台 -- ASPNETDB

Tony Qu 的aspnetdb.mdf数据字典 可以查看到几个相关的数据表.

ScottGu's ASP.NET 2.0 Membership, Roles, Forms Authentication, and Security Resources

2.编写Provider程序的三个关键问题:
(1)提供程序的生命期;
(2)线程安全性;
(3)原子性;
 
3.Asp.net 2.0中实现自定义的AccessMembershipProvider,基于Access数据库
(1)AccessMembershipProvider继承自,而System.Web.Security.MembershipProvider又是继承自System.Configuration.Provider.ProviderBase,ProviderBase是一个abstract类(与Asp.net 1.X的接口实现不同,如IDbConnetion、IDbCommand,在Asp.net 2.0中,选择了抽象类来代替接口,至于使用接口和抽象类那个比较好,可以看《.NET设计规范》一书中的“4.3 类和接口之间的选择”和李万宝 翻译的第二篇文章中找到);
ProviderBase的两个公共属性:
Description:描述;
Name:提供程序名称;

一个方法:
Initialize:用来从配置文件Web.config读取信息并初始化Provider; 在AccessMembershipProvider将会重写此方法。

再看MembershipProvider类,所有方法都是abstract类型的,都将在AccessMembershipProvider实现,具体方法和属性说明,可查看MSDN,这里就不重复了。

AccessMembershipProvider除了实现基本的方法和属性外,还根据实际应用,扩展了几个接口,例如存储更多的用户附加信息,从MembershipUser派生出一个扩展的AccessUser,当MemberShip.GetUser的标准API返回的是一个标准的MembershipUser实例,
posted @ 2006-11-25 16:11  MK2  阅读(1123)  评论(0编辑  收藏  举报